cvs commit: src/sys/amd64/amd64 intr_machdep.c src/sys/amd64/include intr_machdep.h src/sys/arm/arm intr.c src/sys/i386/i386 intr_machdep.c src/sys/i386/include intr_machdep.h src/sys/ia64/ia64 interrupt.c src/sys/kern kern_intr.c ...

John Baldwin jhb at freebsd.org
Mon Mar 17 09:44:39 PDT 2008


On Monday 17 March 2008 10:33:38 am Andrew Gallatin wrote:
> 
> John Baldwin writes:
>  > 
>  > I already have in my tree an amd64/i386-specific sysarch request to bind 
an 
>  > IRQ to a CPU, but it's sort of a pain to use since we don't expose 
interrupt 
>  > info to userland very well so the sysadmin can't tell which CPU an IRQ is 
>  > already connected to w/o a verbose dmesg.  The first thing I plan to 
>  > implement is the aforementioned bus_bind_intr(9) for device drivers to 
use.
> 
> More than that, an admin cannot tell what MSI-X vector corresponds to
> what functionality.  For example, on linux, the driver can attach a
> custom label to the irq information seen from cat /proc/irq.  Hence my
> linux 10GbE driver attaches meaninful labels to each MSI-X vector it
> uses.  Eg, for 2 "slices" (what we call qsets), we have this on Linux:
> 
> % grep eth0 /proc/interrupts 
> 510:          0          0   PCI-MSI-edge      eth0:slice-1
> 511:          0          5   PCI-MSI-edge      eth0:slice-0
> 
> But on FreeBSD:
> 
> % vmstat -i | grep mxge
> irq256: mxge0                     318254         74
> irq257: mxge0                     311469         73
> 
> So I'd like the driver to be able to append a custom string
> (":slice-%d") to the label used by vmstat -i so the adminstrator
> can know what he's binding.

Hmm, I've thought about the ability to name MSIs (or at least include the 
MSI/MSI-X index in the name).  Maybe default to index name and let the driver 
override?

-- 
John Baldwin


More information about the cvs-src mailing list