[dpdk-dev] [PATCH v2] bus/pci: resolve multiple NICs address conflicts
Burakov, Anatoly
anatoly.burakov at intel.com
Wed Nov 6 11:35:05 CET 2019
On 06-Nov-19 7:37 AM, David Marchand wrote:
> On Wed, Nov 6, 2019 at 7:16 AM Wangyu (Eric) <seven.wangyu at huawei.com> wrote:
>>
>>
>> In 64K pagesize system, DPDK will read the size NIC need in uio/uio1/maps/map1/size, when the size small than pagesize(e.g.,82599 is 16K), dev->mem_resource[i].len will be 16K, but the mmap function applies for at least 1 page size, which is 64K.
>> Then second NIC mmap, start address is first NIC address + 16K, which already used by first NIC.
>
> Do you see this issue with vfio?
>
>
>> So if change the size to first NIC address + 64K, problem solved.
>
> You are hacking a description of the device resources to workaround a problem.
> This patch is a no go for me.
>
> Maybe there is something to do with the hint passed to mmap in uio case.
> Adding Anatoly to the loop.
>
We map BAR's with arbitrary addresses, so i don't think we can do much
here - if mmap() returns page-unaligned addresses on platforms with 64K
sizes, it's not our fault.
That said, we could simply page-align mapping requests.
--
Thanks,
Anatoly
More information about the dev
mailing list