linux_dsm_epyc7002/arch/powerpc
Anton Blanchard ad5d1c888e powerpc: Fix accounting of softirq time when idle
commit cf9efce0ce (powerpc: Account time using timebase rather
than PURR) used in_irq() to detect if the time was spent in
interrupt processing. This only catches hardirq context so if we
are in softirq context and in the idle loop we end up accounting it
as idle time. If we instead use in_interrupt() we catch both softirq
and hardirq time.

The issue was found when running a network intensive workload. top
showed the following:

0.0%us,  1.1%sy,  0.0%ni, 85.7%id,  0.0%wa,  9.9%hi,  3.3%si,  0.0%st

85.7% idle. But this was wildly different to the perf events data.
To confirm the suspicion I ran something to keep the core busy:

# yes > /dev/null &

8.2%us,  0.0%sy,  0.0%ni,  0.0%id,  0.0%wa, 10.3%hi, 81.4%si,  0.0%st

We only got 8.2% of the CPU for the userspace task and softirq has
shot up to 81.4%.

With the patch below top shows the correct stats:

0.0%us,  0.0%sy,  0.0%ni,  5.3%id,  0.0%wa, 13.3%hi, 81.3%si,  0.0%st

Signed-off-by: Anton Blanchard <anton@samba.org>
Cc: stable@kernel.org
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2011-03-30 10:44:18 +11:00
..
boot Merge remote branch 'jwb/next' into next 2011-03-17 17:59:01 +11:00
configs powerpc: Restore some misc devices to our configs 2011-03-30 10:36:23 +11:00
include/asm powerpc: Wire up new syscalls 2011-03-30 10:44:11 +11:00
kernel powerpc: Fix accounting of softirq time when idle 2011-03-30 10:44:18 +11:00
kvm KVM: PPC: Fix SPRG get/set for Book3S and BookE 2011-03-17 13:08:25 -03:00
lib powerpc: Ensure the else case of feature sections will fit 2011-01-21 14:08:33 +11:00
math-emu powerpc/85xx: Fix SPE float to integer conversion failure 2011-03-15 13:48:15 -05:00
mm powerpc: Implement dma_mmap_coherent() 2011-03-30 10:44:00 +11:00
oprofile tree-wide: fix comment/printk typos 2010-11-01 15:38:34 -04:00
platforms powerpc/pseries/smp: query-cpu-stopped-state support won't change 2011-03-30 10:44:16 +11:00
sysdev powerpc: Convert to new irq_* function names 2011-03-29 14:48:12 +02:00
xmon lib, arch: add filter argument to show_mem and fix private implementations 2011-03-24 17:49:37 -07:00
Kconfig powerpc: Use generic show_interrupts() 2011-03-29 14:48:13 +02:00
Kconfig.debug powerpc: Unconditionally enabled irq stacks 2010-06-15 15:02:37 +10:00
Makefile powerpc: Fix typo in uImage target 2010-08-24 15:26:32 +10:00
relocs_check.pl powerpc: Check for unsupported relocs when using CONFIG_RELOCATABLE 2009-09-24 15:31:40 +10:00