On Fri, Jun 02, 2023 at 05:43:19PM -0700, John Hubbard wrote: > On 6/2/23 15:52, John Hubbard wrote: > > On 6/2/23 15:38, Peter Xu wrote: > > ... > > > > I think we're in agreement that we want to only include uffd-common.h > > > > where it's actually required. Likewise with the uffd*() routines. So I > > > > would like to still move this over, yes, just to have things in their > > > > best-named location. > > > > > > Sorry I didn't get it - e.g. I'm confused why we need to export > > > uffd_test_ops into ksm unit test, it doesn't make much sense to me.. > > > > Oh, I see what you mean, finally. Yes. ksm should not need that. > > > > ...whoops, correction, our very own David Hildenbrand recently made > changes that contradict the claim that "ksm and uffd selftests are > independent". In fact, ksm now *intentionally* depends upon uffd, as of > commit 93fb70aa5904c ("selftests/vm: add KSM unmerge tests"), aha! > > That added commit added a call to test_unmerge_uffd_wp(), to > ksm_functional_tests.c . > > So this needs to stay approximately as-is, it seems. So I think it depends on what is "as-is" to me in the above sentence. :) test_unmerge_uffd_wp() impled its own uffd ioctls, and it still doesn't use any of uffd-common.h of now (e.g. uffd_test_ops). IMHO if we want we can let test_unmerge_uffd_wp() reuse either uffd_get_features(), uffd_open(), uffd_register() etc., but still all of them are provided by vm_util.h not uffd-common.h for now, and that's intended (vm_util.h can contain uffd helpers, or whatever helpers as long as generic mm/ unit tests need). We can even move wp_range() from uffd-common.[ch] into vm_utils.[ch], then it can also share that (need to replace err(), that's uffd-common specific). Not necessary anything must be done in this series, though. Thanks, -- Peter Xu