[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190717042233.GA4529@lst.de>
Date: Wed, 17 Jul 2019 06:22:33 +0200
From: Christoph Hellwig <hch@....de>
To: John Hubbard <jhubbard@...dia.com>
Cc: Ralph Campbell <rcampbell@...dia.com>, linux-mm@...ck.org,
linux-kernel@...r.kernel.org, willy@...radead.org,
Vlastimil Babka <vbabka@...e.cz>,
Christoph Lameter <cl@...ux.com>,
Dave Hansen <dave.hansen@...ux.intel.com>,
Jérôme Glisse <jglisse@...hat.com>,
"Kirill A . Shutemov" <kirill.shutemov@...ux.intel.com>,
Lai Jiangshan <jiangshanlai@...il.com>,
Martin Schwidefsky <schwidefsky@...ibm.com>,
Pekka Enberg <penberg@...nel.org>,
Randy Dunlap <rdunlap@...radead.org>,
Andrey Ryabinin <aryabinin@...tuozzo.com>,
Christoph Hellwig <hch@....de>,
Jason Gunthorpe <jgg@...lanox.com>,
Andrew Morton <akpm@...ux-foundation.org>,
Linus Torvalds <torvalds@...ux-foundation.org>
Subject: Re: [PATCH 1/3] mm: document zone device struct page reserved
fields
On Tue, Jul 16, 2019 at 06:20:23PM -0700, John Hubbard wrote:
> > - unsigned long _zd_pad_1; /* uses mapping */
> > + /*
> > + * The following fields are used to hold the source
> > + * page anonymous mapping information while it is
> > + * migrated to device memory. See migrate_page().
> > + */
> > + unsigned long _zd_pad_1; /* aliases mapping */
> > + unsigned long _zd_pad_2; /* aliases index */
> > + unsigned long _zd_pad_3; /* aliases private */
>
> Actually, I do think this helps. It's hard to document these fields, and
> the ZONE_DEVICE pages have a really complicated situation during migration
> to a device.
>
> Additionally, I'm not sure, but should we go even further, and do this on the
> other side of the alias:
The _zd_pad_* field obviously are NOT used anywhere in the source tree.
So these comments are very misleading. If we still keep
using ->mapping, ->index and ->private we really should clean up the
definition of struct page to make that obvious instead of trying to
doctor around it using comments.
Powered by blists - more mailing lists