On Tue, Jun 10, 2014 at 01:24:35PM +0100, Peter Zijlstra wrote: > On Tue, Jun 10, 2014 at 12:24:03PM +0100, Morten Rasmussen wrote: > > On Tue, Jun 10, 2014 at 11:23:53AM +0100, Peter Zijlstra wrote: > > > On Tue, Jun 10, 2014 at 11:06:41AM +0100, Morten Rasmussen wrote: > > > > How would you like to disable the energy stuff for users for whom > > > > latency is everything? > > > > > > > > I mean, we are adding some extra load/utilization tracking. While I > > > > think we should do everything possible to minimize the overhead, I think > > > > it is unrealistic to assume that it will be zero. Is a some extra 'if > > > > (energy_enabled)' acceptable? > > > > > > > > I'm open for other suggestions. > > > > > > We have the jump-label stuff to do self modifying code ;-) The only > > > thing we need to be careful with is data-layout. > > > > Thanks. I can see that it is already used in for various bit in > > kernel/sched/*. I didn't catch anything in Documentation/static-keys.txt > > related to data-layout caveats. Is there some other > > documentation/patches I should read before messing everything up? ;-) > > So the data-layout was mostly referring to things like making sure that > struct sched_avg doesn't end up straddling a cacheline somewhere by > accident. > > The most expensive part of the per-task accounting nonsense is the > amount of memory we need to touch to do so, the actual instructions come > second, unless of course we go put tons of divisions in there :-)
Make sense. > BTW, are cachelines 64 bytes for you ARM people too? Mostly yes, but as with a lot of other things on ARM it is implementation defined. The cacheline sizes are probeable at runtime, but for things where we don't know I think 64 bytes is the current assumption. Catalin or Will would be able to provide a more detailed answer. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

