Re: [PATCH 0/2] change_protection(): Count the number of pages affected

From: Rik van Riel
Date: Wed Nov 14 2012 - 17:12:24 EST


On 11/14/2012 03:52 PM, Linus Torvalds wrote:
On Wed, Nov 14, 2012 at 10:43 AM, Rik van Riel <riel@xxxxxxxxxx> wrote:

- even *more* aggressive: if the bits become strictly more
restrictive

sorry, this was meant to be "permissive", not restrictive.

My mistake - the point is that if we're changing to a strictly more
permissive mode, the old state of the page tables and TLB's are
perfectly "valid", they are just unnecessarily strict. So we'll take a
fault on some accesses, but that's fine - we can fix things up at
fault time.

The patches I sent in a few weeks ago do that for do_wp_page,
but I can see how we want the same for mprotect...

The question then becomes what the access patterns are. The fault
overhead may well dawrf any TLB flush costs, but it depends on whether
people tend to do large mprotect() and then just actually change a few
pages, or whether mprotect() users often then touch all of the area..

If we keep a counter of faults-after-mprotect, we may be able
to figure out automatically what behaviour would be best.

Of course, that gets us into premature optimization, so it is
probably best to do the simple thing for now.

--
All rights reversed
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/