lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20070801132904.GA14084@csclub.uwaterloo.ca>
Date:	Wed, 1 Aug 2007 09:29:04 -0400
From:	lsorense@...lub.uwaterloo.ca (Lennart Sorensen)
To:	Joe Korty <joe.korty@...r.com>
Cc:	Andrew Morton <akpm@...ux-foundation.org>,
	Sven-Thorsten Dietrich <sdietrich@...ell.com>,
	"H. Peter Anvin" <hpa@...or.com>, mingo@...e.hu,
	tglx@...utronix.de, linux-rt-users@...r.kernel.org,
	linux-kernel@...r.kernel.org, jason.baietto@...r.com
Subject: Re: [PATCH] expand /proc/interrupts to include missing vectors, v2

On Mon, Jul 30, 2007 at 08:17:18PM -0400, Joe Korty wrote:
> Add missing IRQs and IRQ descriptions to /proc/interrupts.
> 
> /proc/interrupts is most useful when it displays every
> IRQ vector in use by the system, not just those somebody
> thought would be interesting.
> 
> This patch inserts the following vector displays to the
> i386 and x86_64 platforms, as appropriate:
> 	
> 	rescheduling interrupts
> 	TLB flush interrupts
> 	function call interrupts
> 	thermal event interrupts
> 	threshold interrupts
> 	spurious interrupts
> 
> A threshold interrupt occurs when ECC memory correction
> is occuring at too high a frequency.  Thresholds are used
> by the ECC hardware as occasional ECC failures are part
> of normal operation, but long sequences of ECC failures
> usually indicate a memory chip that is about to fail.
> 
> Thermal event interrupts occur when a temperature threshold
> has been exceeded for some CPU chip.  IIRC, a thermal
> interrupt is also generated when the temperature drops
> back to a normal level.
> 
> A spurious interrupt is an interrupt that was raised then
> lowered by the device before it could be fully processed
> by the APIC.  Hence the apic sees the interrupt but does
> not know what device it came from.  For this case the APIC
> hardware will assume a vector of 0xff.
> 
> Rescheduling, call, and TLB flush interrupts are sent from
> one CPU to another per the needs of the OS.  Typically,
> their statistics would be used to discover if an
> interrupt flood of the given type has been occuring.

Since you are playing with /proc/interrupts, is there any chance you
could make it make sense too?

Right now I have the annoying issue that /proc/interrupts only shows
interrupts that it sees a handler for, and ignores the rest.  For some
reason irq 3 never shows up in /proc/interrupts on my system, even
though I have serial ports on both IRQ 3 and 4.  Only irq 4 shows
'serial' as the handler, and is the only one shown.  irq 3 is getting
lots of interrupts, and the serial driver is handling them, it just
doesn't show up in /proc/interrupts.  procinfo does show irq 3 although
with no handler listed.  I think any interrupt with a handler AND any
interrupt with a non zero count ought to be shown.  I only happened to
try procinfo by chance and discover that while I thought IRQ 3 wasn't
working, the only issue was that /proc/interrupts simply wasn't showing
all the relevant information.

Of course I would also love to know why irq 3 isn't showing serial as
the handler, but I have no idea why that is.  This is all using Debian's
2.6.18 kernel.

--
Len Sorensen
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ