Re: [PATCH v3 3/3] mm/hmm/test: add self tests for HMM

From: Ralph Campbell
Date: Thu Oct 31 2019 - 13:28:19 EST




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.