From: Andrea Arcangeli on gitlab.com Merge Request: https://gitlab.com/cki-project/kernel-ark/-/merge_requests/1124 NOTE: Truncated patchset due to missing @redhat.com email address on your GitLab profile at https://gitlab.com/-/profile. Once that is fixed, close and reopen the merge request to retrigger sending the emails.
Tested: fixed https://github.com/aagit/kernel-testcases- for-v5.11/blob/main/vmsplice-v5.11.c no-regression https://github.com/aagit/kernel-testcases- for-v5.11/blob/main/page_count_do_wp_page.c Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1958742 Upstream Status: RHEL-only
3b807e3e4d34 (Andrea Arcangeli) mm: FOLL_UNSHARE|FOLL_MM_SYNC: CentOS Stream kABI
2a5c44451e60 (Andrea Arcangeli) mm: use_mm: fix for arches checking mm_users to optimize TLB flushes
488425ad09ab (Andrea Arcangeli) mm: thp: optimize total_mapcount() with head_compound_mapcount
d2a5d1e916ad (Andrea Arcangeli) mm: thp: page_mapcount_lock: optimize the lock_page_memcg
c2256f6642e4 (Andrea Arcangeli) mm: thp: page_mapcount_lock: optimize the migrate path
7e6dfb703d3e (Andrea Arcangeli) mm: cacheline alignment for page_table_lock and mmap_lock
8468ed6b2b93 (Andrea Arcangeli) mm: gup: pack has_pinned in MMF_HAS_PINNED
f6c91952e805 (Andrea Arcangeli) mm: gup: allow FOLL_PIN to scale in SMP
61c4edba6dbc (Andrea Arcangeli) mm: gup: document FOLL_MM_SYNC
ea651b9dc415 (Andrea Arcangeli) mm: gup: FOLL_UNSHARE|FOLL_MM_SYNC: zeropage and MAP_PRIVATE pagecache
92ebfc1323e3 (Andrea Arcangeli) mm: gup: FOLL_UNSHARE|FOLL_MM_SYNC: enable COR on PageKsm
23928d6acc9e (Andrea Arcangeli) mm: gup: introduce FOLL_MM_SYNC and FAULT_FLAG_MM_SYNC
e124d38951e9 (Andrea Arcangeli) mm: COW: skip the page lock in the COW copy path
ace0bed51c7d (Andrea Arcangeli) mm: COW: restore full accuracy in page reuse
66bc25dc1340 (Andrea Arcangeli) mm: gup: FOLL_UNSHARE: optimize mmu notifier
b982d1124362 (Andrea Arcangeli) mm: gup: FOLL_UNSHARE
a7051d10b1aa (Andrea Arcangeli) mm: gup: gup_page_unshare()
eacdacdef0ff (Andrea Arcangeli) mm: gup: COR: copy-on-read fault
549c420a5d41 (Andrea Arcangeli) mm: thp: introduce irqsafe methods to check if anonymous pages are shared
114b743e88c4 (Andrea Arcangeli) mm: thp: introduce page_mapcount_seq irqsafe version
54a91db05c7c (Andrea Arcangeli) mm: thp: introduce page_trans_huge_anon_shared
ff10b15e05db (Andrea Arcangeli) mm: thp: stabilize the THP mapcount in page_remove_anon_compound_rmap
207e26b93bf8 (Andrea Arcangeli) mm: thp: replace the page lock with the seqlock for the THP mapcount
95cbac18cf57 (Andrea Arcangeli) mm: thp: make the THP mapcount atomic with a seqlock
fs/proc/task_mmu.c | 51 ++++---- include/linux/huge_mm.h | 128 ++++++++++++++++++++ include/linux/ksm.h | 7 ++ include/linux/mm.h | 20 +++- include/linux/mm_types.h | 18 ++- include/linux/sched/coredump.h | 1 + kernel/fork.c | 1 - kernel/kthread.c | 2 + mm/gup.c | 133 ++++++++++++++++++++- mm/huge_memory.c | 160 +++++++++++++++++-------- mm/ksm.c | 25 ++++ mm/memory.c | 261 +++++++++++++++++++++++++++++++++++------ mm/rmap.c | 24 +++- mm/swapfile.c | 14 ++- mm/util.c | 32 ++++- 15 files changed, 746 insertions(+), 131 deletions(-)
From: Don Zickus on gitlab.com https://gitlab.com/cki-project/kernel-ark/-/merge_requests/1124#note_5716838...
@aarcange - Any reason why this isn't going upstream?
From: Andrea Arcangeli on gitlab.com https://gitlab.com/cki-project/kernel-ark/-/merge_requests/1124#note_5717710...
Hi Don,
as fast as I know, upstream was clear about 09854ba94c6aad7886996bfbee2530b3d8a7f4f4 being correct, so trying to argue about that point again doesn't seem a productive undertaking, we simply agree to disagree about it.
Unfortunately I don't see a way to fix https://github.com/aagit/kernel- testcases-for-v5.11/blob/main/vmsplice-v5.11.c without introducing this regression: https://github.com/aagit/kernel-testcases- for-v5.11/blob/main/page_count_do_wp_page.c unless I revert 09854ba94c6aad7886996bfbee2530b3d8a7f4f4 first.
Last Friday Peter already posted 2 of these patches through his tree upstream and they're getting merged, so I'll rebase and update. The question is what else could go upstream, unfortunately I don't know given the above premise.
From: Don Zickus on gitlab.com https://gitlab.com/cki-project/kernel-ark/-/merge_requests/1124#note_5718585...
@aarcange - The concern is fedora/ark tree git merges linus tree almost daily. This patchset looks ripe for potential merge conflicts. We would like to reduce that otherwise we are stuck reverting this all the time until the conflicts are resolved.
Thoughts?
From: Andrea Arcangeli on gitlab.com https://gitlab.com/cki-project/kernel-ark/-/merge_requests/1124#note_5718868...
That's a valid concern indeed, but one I have no solution for since I also deal with the rejects. The best I can do is to repost it later if needed, and no problem with me if it cannot be merged right now.
From: Waiman Long on gitlab.com https://gitlab.com/cki-project/kernel-ark/-/merge_requests/1124#note_5719804...
Perhaps, this patchset can wait until the final merge to v5.14 after which the code will be more stable.
From: Andrea Arcangeli on gitlab.com https://gitlab.com/cki-project/kernel-ark/-/merge_requests/1124#note_5719870...
Hi Waiman,
Agreed, re-evaluating it later sounds the best. Thanks for checking!
kernel@lists.fedoraproject.org