diff options
author | Thomas Gleixner <[email protected]> | 2021-03-09 09:55:54 +0100 |
---|---|---|
committer | Thomas Gleixner <[email protected]> | 2021-03-17 16:34:09 +0100 |
commit | 6516b386d8a07102aac353daf9c0fe0045faeb74 (patch) | |
tree | 4fc4b1b3c04f26e5051a187da5d3c26039ecb487 /tools/perf/scripts/python/export-to-postgresql.py | |
parent | 728b478d2d358480b333b42d0e10e0fecb20114c (diff) |
irqtime: Make accounting correct on RT
vtime_account_irq and irqtime_account_irq() base checks on preempt_count()
which fails on RT because preempt_count() does not contain the softirq
accounting which is seperate on RT.
These checks do not need the full preempt count as they only operate on the
hard and softirq sections.
Use irq_count() instead which provides the correct value on both RT and non
RT kernels. The compiler is clever enough to fold the masking for !RT:
99b: 65 8b 05 00 00 00 00 mov %gs:0x0(%rip),%eax
- 9a2: 25 ff ff ff 7f and $0x7fffffff,%eax
+ 9a2: 25 00 ff ff 00 and $0xffff00,%eax
Reported-by: Sebastian Andrzej Siewior <[email protected]>
Signed-off-by: Thomas Gleixner <[email protected]>
Tested-by: Sebastian Andrzej Siewior <[email protected]>
Tested-by: Paul E. McKenney <[email protected]>
Reviewed-by: Frederic Weisbecker <[email protected]>
Acked-by: Peter Zijlstra (Intel) <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Diffstat (limited to 'tools/perf/scripts/python/export-to-postgresql.py')
0 files changed, 0 insertions, 0 deletions