Thread (37 messages) 37 messages, 9 authors, 2016-12-09

Re: [kernel-hardening] [RFC PATCH v2 2/3] xpfo: Only put previous userspace pages into the hot cache

From: Juerg Haefliger <hidden>
Date: 2016-09-21 05:32:38
Also in: lkml

On 09/14/2016 04:48 PM, Dave Hansen wrote:
quoted
On 09/02/2016 10:39 PM, Dave Hansen wrote:
quoted
On 09/02/2016 04:39 AM, Juerg Haefliger wrote:
Does this
just mean that kernel allocations usually have to pay the penalty to
convert a page?
Only pages that are allocated for userspace (gfp & GFP_HIGHUSER == GFP_HIGHUSER) which were
previously allocated for the kernel (gfp & GFP_HIGHUSER != GFP_HIGHUSER) have to pay the penalty.
quoted
So, what's the logic here?  You're assuming that order-0 kernel
allocations are more rare than allocations for userspace?
The logic is to put reclaimed kernel pages into the cold cache to
postpone their allocation as long as possible to minimize (potential)
TLB flushes.
OK, but if we put them in the cold area but kernel allocations pull them
from the hot cache, aren't we virtually guaranteeing that kernel
allocations will have to to TLB shootdown to convert a page?
No. Allocations for the kernel never require a TLB shootdown. Only allocations for userspace (and
only if the page was previously a kernel page).

It seems like you also need to convert all kernel allocations to pull
from the cold area.
Kernel allocations can continue to pull from the hot cache. Maybe introduce another cache for the
userspace pages? But I'm not sure what other implications this might have.

...Juerg

Attachments

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help