lkml.org 
[lkml]   [2008]   [Sep]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectSoft IRQ statistics under /proc/stat
I've been observing some oddities in the statistics produced by mpstat 
with respect to soft IRQs (for example, considerable soft IRQ time on
processors sending UDP packets on dummy NICs). While looking at the
kernel code, I noticed that ticks are attributed to soft IRQs when
softirq_count() is greater than 0. This happens in __local_bh_disable(),
which is called from __do_softirq(), but also from local_bh_disable().
Thus, the number of ticks reported in /proc/stat refers to any execution
path that runs with soft IRQs disabled, not just code called from
__do_softirq().
I hacked the kernel to differentiate between the two cases, and indeed
the anomalies I saw can be explained as code executing under
local_bh_disable().

Is this behaviour by design? References to /proc/stat on the web refer
to this number simply as "soft IRQ time" (e.g.,
http://www.redhat.com/docs/manuals/enterprise/RHEL-4-Manual/en-US/Reference_Guide/s2-proc-stat.html).
I would have expected that to include only execution paths starting from
__do_softirq().

Elad


\
 
 \ /
  Last update: 2008-09-12 03:41    [W:0.054 / U:0.092 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site