From: Peter Xu <peterx@redhat.com>
To: Matthew Wilcox <willy@infradead.org>
Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org,
Mike Kravetz <mike.kravetz@oracle.com>,
David Hildenbrand <david@redhat.com>,
Andrew Morton <akpm@linux-foundation.org>,
Yu Zhao <yuzhao@google.com>, Ryan Roberts <ryan.roberts@arm.com>,
Yang Shi <shy828301@gmail.com>, Hugh Dickins <hughd@google.com>,
"Kirill A . Shutemov" <kirill@shutemov.name>
Subject: Re: [PATCH RFC v2 1/3] mm: Add TAIL_MAPPING_REUSED_MAX
Date: Mon, 14 Aug 2023 15:51:27 -0400 [thread overview]
Message-ID: <ZNqFv0AwkfDKExiw@x1n> (raw)
In-Reply-To: <ZNp7yUgUrIpILnXu@casper.infradead.org>
On Mon, Aug 14, 2023 at 08:08:57PM +0100, Matthew Wilcox wrote:
> On Mon, Aug 14, 2023 at 02:44:09PM -0400, Peter Xu wrote:
> > +/*
> > + * This macro defines the maximum tail pages (of a folio) that can have the
> > + * page->mapping field reused (offset 12 for 32bits, or 24 for 64bits).
>
> No, don't say how many bytes into the structure something is. It'll
> only get out of date. If somebody needs to know, use pahole.
OK.
>
> > + * When the tail page's mapping field reused, it'll be exempted from
> > + * ->mapping poisoning and checks. Also see the macro TAIL_MAPPING.
> > + */
> > +#define TAIL_MAPPING_REUSED_MAX (2)
>
> More importantly, I think this is over-parametrisation. If you start to
> use extra fields in struct folio, just change the code in page_alloc.c
> directly.
One should at least also need to change __split_huge_page_tail() on the
BUG_ON() with the hard-coded "tail > 2"?
I wanted to link all these pieces together, and the use case is when anyone
would like to e.g. reuse tail page 3 of a folio, hence put the macro here.
--
Peter Xu
next prev parent reply other threads:[~2023-08-14 19:51 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-08-14 18:44 [PATCH RFC v2 0/3] mm: Properly document tail pages for a folio Peter Xu
2023-08-14 18:44 ` [PATCH RFC v2 1/3] mm: Add TAIL_MAPPING_REUSED_MAX Peter Xu
2023-08-14 18:52 ` Peter Xu
2023-08-14 19:08 ` Matthew Wilcox
2023-08-14 19:51 ` Peter Xu [this message]
2023-08-14 18:44 ` [PATCH RFC v2 2/3] mm: Reorg and declare free spaces in struct folio tails Peter Xu
2023-08-14 18:44 ` [PATCH RFC v2 3/3] mm: Proper document tail pages fields for folio Peter Xu
2023-08-14 23:01 ` Randy Dunlap
2023-08-14 19:58 ` [PATCH RFC v2 0/3] mm: Properly document tail pages for a folio Matthew Wilcox
2023-08-14 20:21 ` Peter Xu
2023-08-15 3:45 ` Matthew Wilcox
2023-08-15 19:37 ` Peter Xu
2023-08-15 20:16 ` Matthew Wilcox
2023-08-15 20:39 ` Peter Xu
2023-08-15 21:03 ` Matthew Wilcox
2023-08-14 23:01 ` Randy Dunlap
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=ZNqFv0AwkfDKExiw@x1n \
--to=peterx@redhat.com \
--cc=akpm@linux-foundation.org \
--cc=david@redhat.com \
--cc=hughd@google.com \
--cc=kirill@shutemov.name \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mike.kravetz@oracle.com \
--cc=ryan.roberts@arm.com \
--cc=shy828301@gmail.com \
--cc=willy@infradead.org \
--cc=yuzhao@google.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.