public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* Soft IRQ statistics under /proc/stat
@ 2008-09-12  1:38 Elad Lahav
  2008-09-15 14:16 ` Elad Lahav
  0 siblings, 1 reply; 2+ messages in thread
From: Elad Lahav @ 2008-09-12  1:38 UTC (permalink / raw)
  To: linux-kernel

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

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2008-09-15 14:14 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-09-12  1:38 Soft IRQ statistics under /proc/stat Elad Lahav
2008-09-15 14:16 ` Elad Lahav

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox