genirq, proc: Speedup /proc/stat interrupt statistics
Get series with b4
b4 am [email protected]Versions newest first · linked by author and title
- v2 Latest2 patches 9 repliesIn review
- v12 patches 9 repliesSuperseded
Patches in v2 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/2 | genriq: Avoid summation loops for /proc/statinclude/ kernel/ kernel/ +1 more | +24 | 5 replies | |
| 2/2 | proc/stat: Make the interrupt statistics more efficientfs/ | +26 | 1 reply |
Reviews trailers per patch
1 of 2 patches has a Reviewed-by or Acked-by of their own; the series has one for all of them.
| Patch | Waiman Long | Alexey Dobriyan | Davidlohr Bueso | Marc Zyngier |
|---|---|---|---|---|
| Series | R-b | R-b | R-b | |
| 1/2 | ||||
| 2/2 | R-b |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes. Scroll the table sideways for all 4 reviewers.
Cover letter [patch V2 0/2] genirq, proc: Speedup /proc/stat interrupt statistics
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(-)