Message ID | 20191022171239.21487-7-david@redhat.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | mm: Don't mark hotplugged pages PG_reserved (including ZONE_DEVICE) | expand |
On 22.10.19 19:12, David Hildenbrand wrote: > Right now, ZONE_DEVICE memory is always set PG_reserved. We want to > change that. > > The pages are obtained via get_user_pages_fast(). I assume, these > could be ZONE_DEVICE pages. Let's just exclude them as well explicitly. > > Cc: Rob Springer <rspringer@google.com> > Cc: Todd Poynor <toddpoynor@google.com> > Cc: Ben Chan <benchan@chromium.org> > Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> > Signed-off-by: David Hildenbrand <david@redhat.com> > --- > drivers/staging/gasket/gasket_page_table.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/staging/gasket/gasket_page_table.c b/drivers/staging/gasket/gasket_page_table.c > index f6d715787da8..d43fed58bf65 100644 > --- a/drivers/staging/gasket/gasket_page_table.c > +++ b/drivers/staging/gasket/gasket_page_table.c > @@ -447,7 +447,7 @@ static bool gasket_release_page(struct page *page) > if (!page) > return false; > > - if (!PageReserved(page)) > + if (!PageReserved(page) && !is_zone_device_page(page)) > SetPageDirty(page); > put_page(page); > > @Dan, is SetPageDirty() on ZONE_DEVICE pages bad or do we simply not care? I think that ending up with ZONE_DEVICE pages here is very unlikely. I'd like to drop this (and the next) patch and document why it is okay to do so.
diff --git a/drivers/staging/gasket/gasket_page_table.c b/drivers/staging/gasket/gasket_page_table.c index f6d715787da8..d43fed58bf65 100644 --- a/drivers/staging/gasket/gasket_page_table.c +++ b/drivers/staging/gasket/gasket_page_table.c @@ -447,7 +447,7 @@ static bool gasket_release_page(struct page *page) if (!page) return false; - if (!PageReserved(page)) + if (!PageReserved(page) && !is_zone_device_page(page)) SetPageDirty(page); put_page(page);
Right now, ZONE_DEVICE memory is always set PG_reserved. We want to change that. The pages are obtained via get_user_pages_fast(). I assume, these could be ZONE_DEVICE pages. Let's just exclude them as well explicitly. Cc: Rob Springer <rspringer@google.com> Cc: Todd Poynor <toddpoynor@google.com> Cc: Ben Chan <benchan@chromium.org> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: David Hildenbrand <david@redhat.com> --- drivers/staging/gasket/gasket_page_table.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)