Re: [PATCH v6 03/11] mm, x86: Add support for eXclusive Page Frame Ownership (XPFO)

From: Dave Hansen
Date: Mon Nov 13 2017 - 17:46:32 EST


On 11/13/2017 02:20 PM, Dave Hansen wrote:
> On 11/09/2017 05:09 PM, Tycho Andersen wrote:
>> which I guess is from the additional flags in grow_dev_page() somewhere down
>> the stack. Anyway... it seems this is a kernel allocation that's using
>> MIGRATE_MOVABLE, so perhaps we need some more fine tuned heuristic than just
>> all MOVABLE allocations are un-mapped via xpfo, and all the others are mapped.
>>
>> Do you have any ideas?
>
> It still has to do a kmap() or kmap_atomic() to be able to access it. I
> thought you hooked into that. Why isn't that path getting hit for these?

Oh, this looks to be accessing data mapped by a buffer_head. It
(rudely) accesses data via:

void set_bh_page(struct buffer_head *bh,
...
bh->b_data = page_address(page) + offset;