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:
# 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 <[email protected]>
Cc: Alistair Popple <[email protected]>
Cc: Lorenzo Stoakes <[email protected]>
Cc: "Liam R. Howlett" <[email protected]>
Cc: Vlastimil Babka <[email protected]>
Cc: Mike Rapoport <[email protected]>
Cc: Suren Baghdasaryan <[email protected]>
Cc: Michal Hocko <[email protected]>
Cc: Zi Yan <[email protected]>
Cc: Baolin Wang <[email protected]>
Cc: Nico Pache <[email protected]>
Cc: Ryan Roberts <[email protected]>
Cc: Dev Jain <[email protected]>
Cc: Dan Williams <[email protected]>
Cc: Oscar Salvador <[email protected]>
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