Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 15 Nov 2010 11:38:58 -0500
From:      John Baldwin <jhb@freebsd.org>
To:        freebsd-stable@freebsd.org
Subject:   Re: interrupt resource clean up
Message-ID:  <201011151138.58149.jhb@freebsd.org>
In-Reply-To: <4CE157EC.6010007@sentex.net>
References:  <4CE157EC.6010007@sentex.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On Monday, November 15, 2010 10:55:24 am Mike Tancsa wrote:
> While trying to debug an issue with an em nic, I noticed that if I
> unload the kld which previously had the nic using multiple msi
> interrupts, and then load it with msix disabled, vmstat -i shows some
> funny output
> 
> e.g. before
> 
> interrupt                          total       rate
> irq4: uart0                        37945          0
> irq16: siis0                    90443357         55
> irq18: arcmsr0                 138839249         84
> irq19: bge0 twa0                 4642943          2
> irq21: ehci0                    11565862          7
> irq23: ehci1                     3279942          2
> cpu0: timer                   3279559638       2000
> irq256: em0                   1609329648        981
> irq257: em1:rx 0               756066703        461
> irq258: em1:tx 0               595711018        363
> irq259: em1:link                   41186          0
> irq260: ahci0                   94752814         57
> cpu1: timer                   3279552436       2000
> cpu3: timer                   3279552195       2000
> cpu2: timer                   3279550937       2000
> Total                        16422925873      10015
> 
> 
> and after
> 
> # vmstat -i
> interrupt                          total       rate
> irq4: uart0                        42144          0
> irq16: siis0                    93796258         54
> irq18: arcmsr0                 144244159         83
> irq19: bge0 twa0                 4840729          2
> irq21: ehci0                    12015466          6
> irq23: ehci1                     3436876          2
> cpu0: timer                   3436486096       2000
> irq256: em0                   1719107713       1000
> irq257: em1                    767271792        446
> irq258:                        605077993        352
> irq259:                            41186          0
> irq260: ahci0                   98454608         57
> cpu1: timer                   3436478875       2000
> cpu3: timer                   3436478653       2000
> cpu2: timer                   3436477132       2000
> Total                        17194249680      10007
> 
> Is this just a display issue, or are the resources still allocated ?

The interrupt doesn't go away when you unload the driver and it's historical 
count doesn't go away.  vmstat -i just hides interrupts with a count of zero, 
but unloading the driver doesn't zero the count, so it will stay there 
forever.  It might get reused by a different driver that uses MSI or MSI-X if 
you were to kldload said driver.

-- 
John Baldwin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201011151138.58149.jhb>