Re: [PATCH] sched: Make schedstats a runtime tunable that is disabled by default

From: Mel Gorman
Date: Mon Jan 25 2016 - 12:07:26 EST


On Mon, Jan 25, 2016 at 04:46:35PM +0100, Ingo Molnar wrote:
> > Of course, it'll be our luck that tracking the data for these
> > tracepoints is the most expensive part of schedstats ...
> >
> > Ingo?
>
> IIRC it needed only a small subset of schedstats to make those tracepoints work.
>
> We already have too much overhead in the scheduler as-is - and the extra cache
> footprint does not even show on the typically cache-rich enterprise CPUs most of
> the scalability testing goes on.
>
> My minimum requirement for such runtime enablement would be to make it entirely
> static-branch patched and triggered at the call sites as well - not hidden inside
> schedstat functions.
>

As it is, it's static-branch patched but I'm struggling to see why they
cannot be hidden in the schedstat_* functions which are just preprocessor
macros. The checks could be put in the callsites but it's a lot of updates
and I don't think the end result would be very nice to read.

--
Mel Gorman
SUSE Labs