On 12/16/2017 08:44 AM, Matthew Wilcox wrote: > From: Matthew Wilcox <mawilcox@xxxxxxxxxxxxx> > > 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@xxxxxxxxxxxxx> > --- > 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@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>