On Thu, Mar 25, 2021 at 01:09:14PM +0100, Christian König wrote:
Am 25.03.21 um 13:01 schrieb Jason Gunthorpe:No, if the device wants to use huge pages it must influence the mmap
On Thu, Mar 25, 2021 at 12:53:15PM +0100, Thomas Hellström (Intel) wrote:Well a mmap() needs to be aligned to the page size of the CPU, but not
Nope. The point here was that in this case, to make sure mmap uses theOf course the driver needs some way to influence the VA mmap uses,
correct VA to give us a reasonable chance of alignement, the driver might
need to be aware of and do trickery with the huge page-table-entry sizes
anyway, although I think in most cases a standard helper for this can be
supplied.
gernally it should align to the natural page size of the device
necessarily to the one of the device.
So I'm pretty sure the device driver should not be involved in any way the
choosing of the VA for the CPU mapping.
VA or it can't form huge pgaes.
It is the same reason why mmap returns 2M stuff these days to make THP
possible
Jason