Re: [RFC] perf: mmap2 not covering VM_CLONE regions

From: Stephane Eranian
Date: Thu Oct 03 2013 - 04:55:36 EST


On Wed, Oct 2, 2013 at 10:31 PM, Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:
> On Wed, Oct 02, 2013 at 12:38:54PM -0700, Kees Cook wrote:
>> On Wed, Oct 2, 2013 at 12:00 PM, Peter Zijlstra <peterz@xxxxxxxxxxxxx> wrote:
>> > On Wed, Oct 02, 2013 at 11:10:15AM -0700, Kees Cook wrote:
>> >> Seems like a simple enough solution. Surely there must be a catch. :)
>> >
>> > I didn't want to add this to the core mm just for perf..
>>
>> It seems like it would be pretty inexpensive. It might also be
>> valuable in other situations. Not that I can think of any at the
>> moment. Additionally, it could likely be hidden by a CONFIG, so that
>> if perf isn't built in, there's no change?
>
> You optimist, you think you can build a kernel without perf? ;-)
>
> Its just that I would hate to add more completely global state to the
> fork() path. The tasklist_lock might be hard to crack, but at least the
> pid-hash could use per bucket locks (it doesn't apparently).
>
> I suppose people don't really care that much about fork() performance;
> which is sad. KSM and THP also add their own global locks :-(

I don't know the MM code but I assume that that vm_mm struct is
allocated dynamically
and maybe you already grabbing a lock while doing this. Could we
leverage that lock
to increment a global generation number?
--
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/