On 10/31/19 5:42 AM, Jason Gunthorpe wrote:
On Wed, Oct 30, 2019 at 05:14:30PM -0700, Ralph Campbell wrote:
Well, that is good, is it also under drivers/char? It kind feels like
it should not be there...
I think most of the test modules live in lib/ but I wasn't sure that
was the right place for the HMM test driver.
If you think that is better, I can easily move it.
It would be good to get the various test people involved in this, I
really don't know.
OK.
It seems especially over-complicated to use a full page table layout
for this, wouldn't something simple like an xarray be good enough for
test purposes?
Possibly. A page table is really just a lookup table from virtual address
to pfn/page. Part of the rationale was to mimic what a real device
might do.
Well, but the details of the page table layout don't see really
important to this testing, IMHO.
One problem with XArray is that on 32-bit machines the value would
need to be u64 to hold a pfn which won't fit in a ULONG_MAX.
I guess we could make the driver 64-bit only.
Why would a 32 bit machine need a 64 bit pfn?
Jason
On x86, Physical Address Extension (PAE) uses a 64 bit PTE.
See arch/x86/include/asm/pgtable_32_types.h which includes
arch/x86/include/asm/pgtable-3level_types.h.