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

From: Jürgen Groß
Date: Thu Dec 10 2020 - 06:41:46 EST


On 10.12.20 12:14, Roger Pau Monné wrote:
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?

I think so, yes, as we are owner of that page and we were fine to use
lru, too.


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!

UR welcome. :-)


Juergen

Attachment: OpenPGP_0xB0DE9DD628BF132F.asc
Description: application/pgp-keys

Attachment: OpenPGP_signature
Description: OpenPGP digital signature