Thread (13 messages) 13 messages, 7 authors, 2007-08-01

Re: [PATCH] create /proc/all-interrupts

From: Joe Korty <hidden>
Date: 2007-07-30 19:43:43
Also in: lkml

On Mon, Jul 30, 2007 at 12:32:06PM -0700, Andrew Morton wrote:
On Mon, 30 Jul 2007 10:33:17 -0700
Sven-Thorsten Dietrich [off-list ref] wrote:
quoted
On Thu, 2007-07-26 at 11:56 -0700, H. Peter Anvin wrote: 
quoted
Joe Korty wrote:
quoted
Create /proc/all-interrupts for some architectures.
quoted
Would it make sense to drop this patch into -mm for feedback?
It's a lot of code for something which might be useful to someone sometime.

It's a bit of a crappy changelog too.  I'd at least like to see a list of
all the new fields.

It should be OK to add new lines to /proc/interrupts?  That file varies a
lot between machines adn between architectures - as long as the new lines
have similar layout it is unlikely that anything will break.

+	atomic_inc(&__get_cpu_var(irq_thermal_counts));

The patch does atomic ops on cpu-local variables.  This isn't needed, and
is expensive.

If the field is only ever modified from hard interrupt context then you can
make the field unsigned long and use plain old `foo++'.

If the field is modified from both hard-IRQ and from non-IRQ then use a
local_t and local_inc.

Or even, given that this is just a statistic and grrat precision is not
needed, use unsigned long and f++ even if that _is_ racy.  Because the
consequences of a race will just be a single lost count, which we dont'
care about enough to add the additional overhead of an atomic op.
Hi Andrew,
Thanks for the comments.  I'll, at least, make the changes you suggested.

(the /proc/interrupts version has the benefit of being smaller too).

Joe
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help