All of lore.kernel.org
 help / color / mirror / Atom feed
From: Randy Dunlap <rdunlap@infradead.org>
To: Matthew Wilcox <willy@infradead.org>, linux-mm@kvack.org
Cc: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>,
	Christoph Lameter <cl@linux.com>,
	Matthew Wilcox <mawilcox@microsoft.com>
Subject: Re: [PATCH 7/8] mm: Document how to use struct page
Date: Sat, 16 Dec 2017 09:47:16 -0800	[thread overview]
Message-ID: <4d963b8f-0010-fd20-013e-f53f27c8a7ce@infradead.org> (raw)
In-Reply-To: <20171216164425.8703-8-willy@infradead.org>

On 12/16/2017 08:44 AM, Matthew Wilcox wrote:
> From: Matthew Wilcox <mawilcox@microsoft.com>
> 
> Be really explicit about what bits / bytes are reserved for users that
> want to store extra information about the pages they allocate.
> 
> Signed-off-by: Matthew Wilcox <mawilcox@microsoft.com>
> ---
>  include/linux/mm_types.h | 23 ++++++++++++++++++++++-
>  1 file changed, 22 insertions(+), 1 deletion(-)
> 
> diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h
> index 1a3ba1f1605d..a517d210f177 100644
> --- a/include/linux/mm_types.h
> +++ b/include/linux/mm_types.h
> @@ -31,7 +31,28 @@ struct hmm;
>   * it to keep track of whatever it is we are using the page for at the
>   * moment. Note that we have no way to track which tasks are using
>   * a page, though if it is a pagecache page, rmap structures can tell us
> - * who is mapping it.
> + * who is mapping it. If you allocate the page using alloc_pages(), you
> + * can use some of the space in struct page for your own purposes.
> + *
> + * Pages that were once in the page cache may be found under the RCU lock
> + * even after they have been recycled to a different purpose.  The page cache
> + * will read and writes some of the fields in struct page to lock the page,

"will read and writes" seems awkward to me.
Can that be:
    * reads and writes

> + * then check that it's still in the page cache.  It is vital that all users
> + * of struct page:
ta.
-- 
~Randy

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

  reply	other threads:[~2017-12-16 17:47 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-12-16 16:44 [PATCH 0/8] Restructure struct page Matthew Wilcox
2017-12-16 16:44 ` [PATCH 1/8] mm: Align struct page more aesthetically Matthew Wilcox
2017-12-18 15:22   ` Michal Hocko
2017-12-19 14:58   ` Christopher Lameter
2017-12-16 16:44 ` [PATCH 2/8] mm: De-indent struct page Matthew Wilcox
2017-12-18 15:36   ` Michal Hocko
2017-12-18 16:19     ` Matthew Wilcox
2017-12-18 20:49       ` Michal Hocko
2017-12-18 21:44         ` Matthew Wilcox
2017-12-19 14:59           ` Christopher Lameter
2017-12-16 16:44 ` [PATCH 3/8] mm: Remove misleading alignment claims Matthew Wilcox
2017-12-19 15:01   ` Christopher Lameter
2017-12-16 16:44 ` [PATCH 4/8] mm: Improve comment on page->mapping Matthew Wilcox
2017-12-19  8:02   ` Michal Hocko
2017-12-19 15:48     ` Christopher Lameter
2017-12-16 16:44 ` [PATCH 5/8] mm: Introduce _slub_counter_t Matthew Wilcox
2017-12-19  8:07   ` Michal Hocko
2017-12-19 12:46     ` Matthew Wilcox
2017-12-19 13:01       ` Michal Hocko
2017-12-20 16:19         ` Matthew Wilcox
2017-12-21 17:03           ` Christopher Lameter
2017-12-16 16:44 ` [PATCH 6/8] mm: Store compound_dtor / compound_order as bytes Matthew Wilcox
2017-12-19  8:19   ` Michal Hocko
2017-12-19 12:49     ` Matthew Wilcox
2017-12-16 16:44 ` [PATCH 7/8] mm: Document how to use struct page Matthew Wilcox
2017-12-16 17:47   ` Randy Dunlap [this message]
2017-12-17  1:15     ` Matthew Wilcox
2017-12-19  9:59   ` Michal Hocko
2017-12-19 13:07     ` Matthew Wilcox
2017-12-19 13:43       ` Kirill A. Shutemov
2017-12-19 13:48         ` Michal Hocko
2017-12-19 15:53   ` Christopher Lameter
2017-12-19 15:56     ` Kirill A. Shutemov
2017-12-19 16:12     ` Matthew Wilcox
2017-12-16 16:44 ` [PATCH 8/8] mm: Remove reference to PG_buddy Matthew Wilcox
2017-12-19 10:02   ` Michal Hocko
2017-12-19 15:53     ` Christopher Lameter
2017-12-17 13:06 ` [PATCH 0/8] Restructure struct page Kirill A. Shutemov
2017-12-20 15:52 Matthew Wilcox
2017-12-20 15:52 ` [PATCH 7/8] mm: Document how to use " Matthew Wilcox

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=4d963b8f-0010-fd20-013e-f53f27c8a7ce@infradead.org \
    --to=rdunlap@infradead.org \
    --cc=cl@linux.com \
    --cc=kirill.shutemov@linux.intel.com \
    --cc=linux-mm@kvack.org \
    --cc=mawilcox@microsoft.com \
    --cc=willy@infradead.org \
    /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.