[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <5f52de70-975-e94f-f141-543765736181@google.com>
Date: Wed, 2 Nov 2022 18:44:53 -0700 (PDT)
From: Hugh Dickins <hughd@...gle.com>
To: Andrew Morton <akpm@...ux-foundation.org>
cc: "Kirill A. Shutemov" <kirill@...temov.name>,
Matthew Wilcox <willy@...radead.org>,
David Hildenbrand <david@...hat.com>,
Vlastimil Babka <vbabka@...e.cz>, Peter Xu <peterx@...hat.com>,
Yang Shi <shy828301@...il.com>,
John Hubbard <jhubbard@...dia.com>,
Mike Kravetz <mike.kravetz@...cle.com>,
Sidhartha Kumar <sidhartha.kumar@...cle.com>,
Muchun Song <songmuchun@...edance.com>,
Miaohe Lin <linmiaohe@...wei.com>,
Naoya Horiguchi <naoya.horiguchi@...ux.dev>,
Mina Almasry <almasrymina@...gle.com>,
James Houghton <jthoughton@...gle.com>,
Zach O'Keefe <zokeefe@...gle.com>,
linux-kernel@...r.kernel.org, linux-mm@...ck.org
Subject: [PATCH 0/3] mm,huge,rmap: unify and speed up compound mapcounts
I had intended to send just a self-explanatory 1/2 and 2/2 against
6.1-rc3 on Monday; but checked for clashes with linux-next (mainly
mm-unstable) just before sending, and fuzz in mm_types.h revealed
not just a clash with Sidhartha's series, but also that I had missed
the hugetlb usage of tail page->private, problematic for me on 32-bit.
So that series was slightly broken; and although it would probably
have been easy to fix with a "SUBPAGE_INDEX_SUBPOOL = 2" patch,
that would not have moved us forward very well. So this series is
against next-20221102 (and hopefully later nexts), with a preparatory
1/3 to rejig the hugetlb tail private usage, on top of Sidhartha's.
1/3 mm,hugetlb: use folio fields in second tail page
2/3 mm,thp,rmap: simplify compound page mapcount handling
3/3 mm,thp,rmap: lock_compound_mapcounts() on THP mapcounts
2/3 and 3/3 can almost be applied cleanly to 6.1-rc3 (okay when
you are on 64-bit): just a couple of easily resolved rejects.
Documentation/mm/transhuge.rst | 34 +---
include/linux/hugetlb.h | 23 +--
include/linux/hugetlb_cgroup.h | 31 +--
include/linux/mm.h | 85 ++++++---
include/linux/mm_types.h | 91 ++++++---
include/linux/page-flags.h | 21 --
include/linux/rmap.h | 12 +-
mm/Kconfig | 2 +-
mm/debug.c | 5 +-
mm/folio-compat.c | 6 -
mm/huge_memory.c | 37 +---
mm/hugetlb.c | 2 +
mm/khugepaged.c | 11 +-
mm/memory-failure.c | 5 +-
mm/page_alloc.c | 27 +--
mm/rmap.c | 359 ++++++++++++++++++++---------------
mm/util.c | 79 --------
17 files changed, 401 insertions(+), 429 deletions(-)
Hugh
Powered by blists - more mailing lists