diff options
| author | Peter Zijlstra <[email protected]> | 2015-09-07 15:09:15 +0200 |
|---|---|---|
| committer | Ingo Molnar <[email protected]> | 2015-09-13 09:53:00 +0200 |
| commit | 6115c793ca1a6e39c7c15159cbb47baa04009cb8 (patch) | |
| tree | fd17aa0886338f8ea3f2990b66f8e561b10c430d /tools/perf/scripts/python | |
| parent | 54a21385facbdcd89a78e8c3e5025f04c5f2b59c (diff) | |
sched/fair: Optimize __update_load_avg()
Prior to this patch; the line:
scaled_delta_w = (delta_w * 1024) >> 10;
which is the result of the default arch_scale_freq_capacity()
function, turns into:
1b03: 49 89 d1 mov %rdx,%r9
1b06: 49 c1 e1 0a shl $0xa,%r9
1b0a: 49 c1 e9 0a shr $0xa,%r9
Which is silly; when made unsigned int, GCC recognises this as
pointless ops and fails to emit them (confirmed on 4.9.3 and 5.1.1).
Furthermore, afaict unsigned is actually the correct type for these
fields anyway, as we've explicitly ruled out negative delta's earlier
in this function.
Signed-off-by: Peter Zijlstra (Intel) <[email protected]>
Cc: Linus Torvalds <[email protected]>
Cc: Mike Galbraith <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Cc: [email protected]
Signed-off-by: Ingo Molnar <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python')
0 files changed, 0 insertions, 0 deletions