From: Matthew Wilcox <[email protected]>
To: David Hildenbrand <[email protected]>
Cc: Andrew Morton <[email protected]>,
Jens Axboe <[email protected]>,
[email protected], [email protected]
Subject: Re: [PATCH 7/9] mm: Add deferred_list page flag
Date: Wed, 16 Aug 2023 04:14:28 +0100 [thread overview]
Message-ID: <ZNw/[email protected]> (raw)
In-Reply-To: <[email protected]>
On Tue, Aug 15, 2023 at 08:58:24PM +0100, Matthew Wilcox wrote:
> On Tue, Aug 15, 2023 at 07:27:26PM +0200, David Hildenbrand wrote:
> > On 15.08.23 19:06, Matthew Wilcox wrote:
> > > Theree are a lot of counters called THP and TransHuge and other variants
> > > which are exposed to userspace, and the (user) assumption is that this counts
> > > PMD-sized folios. If you grep around for folio_test_pmd_mappable(),
> > > you'll find them. If we have folio_test_thp(), people will write:
> > >
> > > if (folio_test_thp(folio))
> > > __mod_lruvec_state(lruvec, NR_SHMEM_THPS, nr);
> > >
> > > instead of using folio_test_pmd_mappable().
> >
> > So if we *really* don't want to use THP to express that we have a page, then
> > let's see what these pages are:
> > * can be mapped to user space
> > * are transparent to most MM-related systemcalls by (un) mapping
> > them in system page size (PTEs)
>
> * Are managed on the LRU
I think this is the best one to go with. Either that or "managed by
rmap". That excludes compoud pages which are allocated from vmalloc()
(which can be mmaped), page tables, slab, etc. It includes both file
and anon folios.
I have a handy taxonomy here: https://kernelnewbies.org/MemoryTypes
Unfortunately, folio_test_lru() already exists and means something
different ("Is this folio on an LRU list"). I fear folio_test_rmap()
would have a similar confusion -- "Is this folio currently findable by
rmap", or some such. folio_test_rmappable()?
next prev parent reply other threads:[~2023-08-16 3:15 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-08-15 3:26 [PATCH 0/9] Remove _folio_dtor and _folio_order Matthew Wilcox (Oracle)
2023-08-15 3:26 ` [PATCH 1/9] io_uring: Stop calling free_compound_page() Matthew Wilcox (Oracle)
2023-08-15 7:33 ` David Hildenbrand
2023-08-15 15:00 ` Jens Axboe
2023-08-15 15:36 ` Matthew Wilcox
2023-08-15 3:26 ` [PATCH 2/9] mm: Call the hugetlb destructor directly Matthew Wilcox (Oracle)
2023-08-15 7:36 ` David Hildenbrand
2023-08-15 3:26 ` [PATCH 3/9] mm: Call free_transhuge_folio() directly from destroy_large_folio() Matthew Wilcox (Oracle)
2023-08-15 6:13 ` kernel test robot
2023-08-15 7:40 ` David Hildenbrand
2023-08-15 14:06 ` Matthew Wilcox
2023-08-15 8:09 ` kernel test robot
2023-08-15 3:26 ` [PATCH 4/9] mm: Make free_compound_page() static Matthew Wilcox (Oracle)
2023-08-15 7:47 ` David Hildenbrand
2023-08-15 7:48 ` David Hildenbrand
2023-08-15 3:26 ` [PATCH 5/9] mm: Remove free_compound_page() Matthew Wilcox (Oracle)
2023-08-15 7:48 ` David Hildenbrand
2023-08-15 3:26 ` [PATCH 6/9] mm: Remove HUGETLB_PAGE_DTOR Matthew Wilcox (Oracle)
2023-08-15 7:50 ` David Hildenbrand
2023-08-15 3:26 ` [PATCH 7/9] mm: Add deferred_list page flag Matthew Wilcox (Oracle)
2023-08-15 7:54 ` David Hildenbrand
2023-08-15 15:32 ` Matthew Wilcox
2023-08-15 16:40 ` David Hildenbrand
2023-08-15 17:06 ` Matthew Wilcox
2023-08-15 17:27 ` David Hildenbrand
2023-08-15 19:58 ` Matthew Wilcox
2023-08-16 3:14 ` Matthew Wilcox [this message]
2023-08-16 10:12 ` David Hildenbrand
2023-08-16 12:05 ` Matthew Wilcox
2023-08-16 12:34 ` David Hildenbrand
2023-08-16 9:55 ` David Hildenbrand
2023-08-15 3:26 ` [PATCH 8/9] mm: Rearrange page flags Matthew Wilcox (Oracle)
2023-08-15 4:30 ` Yosry Ahmed
2023-08-15 19:24 ` Peter Xu
2023-08-15 20:07 ` Matthew Wilcox
2023-08-15 22:31 ` Yosry Ahmed
2023-08-15 23:01 ` Matthew Wilcox
2023-08-15 23:33 ` Yosry Ahmed
2023-08-15 3:26 ` [PATCH 9/9] mm: Free up a word in the first tail page Matthew Wilcox (Oracle)
2023-08-15 7:59 ` David Hildenbrand
2023-08-15 11:39 ` Matthew Wilcox
2023-08-15 19:21 ` Peter Xu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ZNw/[email protected] \
[email protected] \
[email protected] \
[email protected] \
[email protected] \
[email protected] \
[email protected] \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox