Re: [PATCH 2/2] xen: don't use page->lru for ZONE_DEVICE memory

From: Roger Pau Monné
Date: Thu Dec 10 2020 - 06:16:43 EST


On Tue, Dec 08, 2020 at 07:45:00AM +0100, Jürgen Groß wrote:
> On 07.12.20 21:48, Jason Andryuk wrote:
> > On Mon, Dec 7, 2020 at 8:30 AM Juergen Gross <jgross@xxxxxxxx> wrote:
> > >
> > > Commit 9e2369c06c8a18 ("xen: add helpers to allocate unpopulated
> > > memory") introduced usage of ZONE_DEVICE memory for foreign memory
> > > mappings.
> > >
> > > Unfortunately this collides with using page->lru for Xen backend
> > > private page caches.
> > >
> > > Fix that by using page->zone_device_data instead.
> > >
> > > Fixes: 9e2369c06c8a18 ("xen: add helpers to allocate unpopulated memory")
> > > Signed-off-by: Juergen Gross <jgross@xxxxxxxx>
> >
> > Would it make sense to add BUG_ON(is_zone_device_page(page)) and the
> > opposite as appropriate to cache_enq?
>
> No, I don't think so. At least in the CONFIG_ZONE_DEVICE case the
> initial list in a PV dom0 is populated from extra memory (basically
> the same, but not marked as zone device memory explicitly).

I assume it's fine for us to then use page->zone_device_data even if
the page is not explicitly marked as ZONE_DEVICE memory?

If that's fine, add my:

Acked-by: Roger Pau Monné <roger.pau@xxxxxxxxxx>

To both patches, and thank you very much for fixing this!

Roger.