Based on mm/mm-unstable. While working on improving vm_normal_page() and friends, I stumbled over this issues: refcounted "normal" folios must not be marked using pmd_special() / pud_special(). Otherwise, we're effectively telling the system that these folios are no "normal", violating the rules we documented for vm_normal_page().
Fortunately, there are not many pmd_special()/pud_special() users yet. So far there doesn't seem to be serious damage. Tested using the ndctl tests ("ndctl:dax" suite). v2 -> v3: * Added tags (thanks for all the review!) * Smaller fixups (add empty lines) and patch description improvements 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 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> 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 | 112 ++++++++++++++++++++++++++++----------------- 2 files changed, 87 insertions(+), 44 deletions(-) -- 2.49.0