On Wed, Oct 2, 2013 at 10:31 PM, Peter Zijlstra <pet...@infradead.org> 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 <pet...@infradead.org> 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 majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/