On Wed, Aug 07, 2024 at 02:23:16PM -0700, Andrew Morton wrote: > On Wed, 7 Aug 2024 15:48:04 -0400 Peter Xu <peterx@xxxxxxxxxx> wrote: > > > > > Tests > > ===== > > > > What I did test: > > > > - cross-build tests that I normally cover [1] > > > > - smoke tested on x86_64 the simplest program [2] on dev_dax 1G PUD > > mprotect() using QEMU's nvdimm emulations [3] and ndctl to create > > namespaces with proper alignments, which used to throw "bad pud" but now > > it'll run through all fine. I checked sigbus happens if with illegal > > access on protected puds. > > > > - vmtests. > > > > What I didn't test: > > > > - fsdax: I wanted to also give it a shot, but only until then I noticed it > > doesn't seem to be supported (according to dax_iomap_fault(), which will > > always fallback on PUD_ORDER). I did remember it was supported before, I > > could miss something important there.. please shoot if so. > > OK. Who are you addressing this question to? Anyone who is familiar with fsdax + 1g. Maybe Matthew would be the most suitable, but I didn't track further on fsdax. > > > - userfault wp-async: I also wanted to test userfault-wp async be able to > > split huge puds (here it's simply a clear_pud.. though), but it won't > > work for devdax anyway due to not allowed to do smaller than 1G faults in > > this case. So skip too. > > Sounds OK. So that's an additional project if anyone cares enough? Right. > > > - Power, as no hardware on hand. > > Hopefully the powerpc people can help with that. What tests do you ask > that they run? The test program [2] in cover letter should work as a very basic test; one needs to setup the dax device to use 1g mapping first, though: [2] https://github.com/xzpeter/clibs/blob/master/misc/dax.c At least per my experience not much fancy things we can do there, e.g., I think at least dev_dax has a limitation on vma split that it must be 1g aligned when use 1g mappings, so even split can't happen (as iirc I used to try some random mprotect on smaller ranges).. Thanks, -- Peter Xu