Re: [PATCH] [RFC] kernel/cpu: Use lockref for online CPU reference counting

From: Peter Zijlstra
Date: Tue Feb 16 2016 - 04:15:45 EST


On Tue, Feb 16, 2016 at 10:49:36AM +0200, Joonas Lahtinen wrote:
> I originally thought of implementing this more similar to what you
> specify, but then I came across a discussion in the mailing list where
> it was NAKed adding more members to task_struct;
>
> http://comments.gmane.org/gmane.linux.kernel/970273
>
> Adding proper recursion (the way my initial implementation was going)
> got ugly without modifying task_struct because get_online_cpus() is a
> speed critical code path.

Yeah, just don't let Linus hear you say that. get_online_cpus() is _not_
considered performance critical.

> So I'm all for fixing the current code in a different way if that will
> then be merged.

So I'm not sure why you're poking at this horror show to begin with.
ISTR you mentioning a lockdep splat for SKL, but failed to provide
detail.

Making the hotplug lock _more_ special to fix that is just wrong. Fix
the retarded locking that lead to it.