On 06-Nov-19 7:37 AM, David Marchand wrote:
On Wed, Nov 6, 2019 at 7:16 AM Wangyu (Eric) <seven.wan...@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