• P
    sched: Optimize freq invariant accounting · dfbca41f
    Peter Zijlstra 提交于
    Currently the freq invariant accounting (in
    __update_entity_runnable_avg() and sched_rt_avg_update()) get the
    scale factor from a weak function call, this means that even for archs
    that default on their implementation the compiler cannot see into this
    function and optimize the extra scaling math away.
    
    This is sad, esp. since its a 64-bit multiplication which can be quite
    costly on some platforms.
    
    So replace the weak function with #ifdef and __always_inline goo. This
    is not quite as nice from an arch support PoV but should at least
    result in compile time errors if done wrong.
    Signed-off-by: NPeter Zijlstra (Intel) <peterz@infradead.org>
    Cc: Ben Segall <bsegall@google.com>
    Cc: Morten.Rasmussen@arm.com
    Cc: Paul Turner <pjt@google.com>
    Cc: Vincent Guittot <vincent.guittot@linaro.org>
    Cc: dietmar.eggemann@arm.com
    Cc: efault@gmx.de
    Cc: kamalesh@linux.vnet.ibm.com
    Cc: nicolas.pitre@linaro.org
    Cc: preeti@linux.vnet.ibm.com
    Cc: riel@redhat.com
    Link: http://lkml.kernel.org/r/20150323131905.GF23123@twins.programming.kicks-ass.netSigned-off-by: NIngo Molnar <mingo@kernel.org>
    dfbca41f
sched.h 44.3 KB