Messages in this thread | | | From | Paul Turner <> | Date | Fri, 17 Feb 2012 03:44:05 -0800 | Subject | Re: [RFC PATCH 01/14] sched: track the runnable average on a per-task entitiy basis |
| |
On Thu, Feb 16, 2012 at 5:27 AM, Peter Zijlstra <a.p.zijlstra@chello.nl> wrote: > On Wed, 2012-02-01 at 17:38 -0800, Paul Turner wrote: >> +static __always_inline u64 decay_load(u64 val, int n) >> +{ >> + for (;n && val;n--) { >> + val *= 4008; >> + val >>= 12; >> + } >> + >> + return val; >> +} > >> + sa->runnable_avg_sum = >> + decay_load(sa->runnable_avg_sum, 1); >> + sa->runnable_avg_period = >> + decay_load(sa->runnable_avg_period, 1); > > Since all you ever seem to do is: > > x = decay(x, n); > > and frequently run over the line limits it might make sense to either > introduce a CPP helper or make the first argument a pointer and ditch > the return value so we end up with something like: > > decay(&x, n);
Ah-ha, good idea. I had done some other fiddles to try and make things fit better, but this will work.
Thanks! -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |