On Wed, Jun 11, 2025 at 02:06:51PM +0200, David Hildenbrand wrote: > This is v2 of > "[PATCH v1 0/2] mm/huge_memory: don't mark refcounted pages special > in vmf_insert_folio_*()" > Now with one additional fix, based on mm/mm-unstable. > > While working on improving vm_normal_page() and friends, I stumbled > over this issues: refcounted "normal" pages must not be marked > using pmd_special() / pud_special(). > > Fortunately, so far there doesn't seem to be serious damage. > > I spent too much time trying to get the ndctl tests mentioned by Dan > running (.config tweaks, memmap= setup, ... ), without getting them to > pass even without these patches. Some SKIP, some FAIL, some sometimes > suddenly SKIP on first invocation, ... instructions unclear or the tests > are shaky. This is how far I got:
FWIW I had a similar experience, although I eventually got the FAIL cases below to pass. I forget exactly what I needed to tweak for that though :-/ > # meson test -C build --suite ndctl:dax > ninja: Entering directory `/root/ndctl/build' > [1/70] Generating version.h with a custom command > 1/13 ndctl:dax / daxdev-errors.sh OK 15.08s > 2/13 ndctl:dax / multi-dax.sh OK 5.80s > 3/13 ndctl:dax / sub-section.sh SKIP 0.39s exit > status 77 > 4/13 ndctl:dax / dax-dev OK 1.37s > 5/13 ndctl:dax / dax-ext4.sh OK 32.70s > 6/13 ndctl:dax / dax-xfs.sh OK 29.43s > 7/13 ndctl:dax / device-dax OK 44.50s > 8/13 ndctl:dax / revoke-devmem OK 0.98s > 9/13 ndctl:dax / device-dax-fio.sh SKIP 0.10s exit > status 77 > 10/13 ndctl:dax / daxctl-devices.sh SKIP 0.16s exit > status 77 > 11/13 ndctl:dax / daxctl-create.sh FAIL 2.61s exit > status 1 > 12/13 ndctl:dax / dm.sh FAIL 0.23s exit > status 1 > 13/13 ndctl:dax / mmap.sh OK 437.86s > > So, no idea if this series breaks something, because the tests are rather > unreliable. I have plenty of other debug settings on, maybe that's a > problem? I guess if the FS tests and mmap test pass, we're mostly good. > > Cc: Andrew Morton <a...@linux-foundation.org> > Cc: Alistair Popple <apop...@nvidia.com> > Cc: Lorenzo Stoakes <lorenzo.stoa...@oracle.com> > Cc: "Liam R. Howlett" <liam.howl...@oracle.com> > Cc: Vlastimil Babka <vba...@suse.cz> > Cc: Mike Rapoport <r...@kernel.org> > Cc: Suren Baghdasaryan <sur...@google.com> > Cc: Michal Hocko <mho...@suse.com> > Cc: Zi Yan <z...@nvidia.com> > Cc: Baolin Wang <baolin.w...@linux.alibaba.com> > Cc: Nico Pache <npa...@redhat.com> > Cc: Ryan Roberts <ryan.robe...@arm.com> > Cc: Dev Jain <dev.j...@arm.com> > Cc: Dan Williams <dan.j.willi...@intel.com> > Cc: Oscar Salvador <osalva...@suse.de> > > > v1 -> v2: > * "mm/huge_memory: don't ignore queried cachemode in vmf_insert_pfn_pud()" > -> Added after stumbling over that > * Modified the other tests to reuse the existing function by passing a > new struct > * Renamed the patches to talk about "folios" instead of pages and adjusted > the patch descriptions > * Dropped RB/TB from Dan and Oscar due to the changes > > David Hildenbrand (3): > mm/huge_memory: don't ignore queried cachemode in vmf_insert_pfn_pud() > mm/huge_memory: don't mark refcounted folios special in > vmf_insert_folio_pmd() > mm/huge_memory: don't mark refcounted folios special in > vmf_insert_folio_pud() > > include/linux/mm.h | 19 +++++++- > mm/huge_memory.c | 110 +++++++++++++++++++++++++++------------------ > 2 files changed, 85 insertions(+), 44 deletions(-) > > -- > 2.49.0 >