[patch V2 0/2] genirq, proc: Speedup /proc/stat interrupt statistics

Thomas Gleixner
2019-02-08T13:54:11Z

Waiman reported that on large systems with a large amount of interrupts the
readout of /proc/stat takes a long time to sum up the interrupt
statistics. In principle this is not a problem. but for unknown reasons
some enterprise quality software reads /proc/stat with a high frequency.

The reason for this is that interrupt statistics are accounted per cpu. So
the /proc/stat logic has to sum up the interrupt stats for each interrupt.

The following series addresses this by making the interrupt statitics code
in the core generate the sum directly and by making the loop in the
/proc/stat read function smarter.

V1 -> V2: Address review feedback: undo struct layout changes, make
variables unsigned and add test results to the changelog.

Thanks,

tglx

8<----------------
fs/proc/stat.c | 29 ++++++++++++++++++++++++++---
include/linux/irqdesc.h | 1 +
kernel/irq/chip.c | 12 ++++++++++--
kernel/irq/internals.h | 8 +++++++-
kernel/irq/irqdesc.c | 7 ++++++-
5 files changed, 50 insertions(+), 7 deletions(-)