[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <750b6107-71c5-d17f-60b5-b4e8edb3aa99@nvidia.com>
Date: Thu, 13 May 2021 10:35:39 -0700
From: Ralph Campbell <rcampbell@...dia.com>
To: Matthew Wilcox <willy@...radead.org>
CC: <linux-mm@...ck.org>, <kvm-ppc@...r.kernel.org>,
<nouveau@...ts.freedesktop.org>, <linux-kernel@...r.kernel.org>,
Dan Williams <dan.j.williams@...el.com>,
Ira Weiny <ira.weiny@...el.com>,
Jerome Glisse <jglisse@...hat.com>,
John Hubbard <jhubbard@...dia.com>,
Alistair Popple <apopple@...dia.com>,
Christoph Hellwig <hch@....de>,
Jason Gunthorpe <jgg@...dia.com>,
Bharata B Rao <bharata@...ux.ibm.com>,
Zi Yan <ziy@...dia.com>,
"Kirill A . Shutemov" <kirill.shutemov@...ux.intel.com>,
Yang Shi <yang.shi@...ux.alibaba.com>,
Paul Mackerras <paulus@...abs.org>,
Ben Skeggs <bskeggs@...hat.com>,
Andrew Morton <akpm@...ux-foundation.org>
Subject: Re: [RFC PATCH v3 0/2] mm: remove extra ZONE_DEVICE struct page
refcount
On 5/13/21 6:15 AM, Matthew Wilcox wrote:
> On Thu, Oct 01, 2020 at 11:17:13AM -0700, Ralph Campbell wrote:
>> This is still an RFC because after looking at the pmem/dax code some
>> more, I realized that the ZONE_DEVICE struct pages are being inserted
>> into the process' page tables with vmf_insert_mixed() and a zero
>> refcount on the ZONE_DEVICE struct page. This is sort of OK because
>> insert_pfn() increments the reference count on the pgmap which is what
>> prevents memunmap_pages() from freeing the struct pages and it doesn't
>> check for a non-zero struct page reference count.
>> But, any calls to get_page() will hit the VM_BUG_ON_PAGE() that
>> checks for a reference count == 0.
>
> This seems to have gone quiet. What needs to happen to resurrect this?
>
The main thing I need is time. I have been tied up with other commitments,
there has been a lot of changes going on in FS/DAX and the page cache,
and FS/DAX doesn't use the page reference count to indicate the page is
"free" but rather that it is "idle" so I need a lot of time to really
understand why FS/DAX isn't just any FS on top of a DAX block device.
I too wish this was easier to fix.
Powered by blists - more mailing lists