Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 13 Nov 2008 14:41:16 -0500
From:      John Baldwin <jhb@freebsd.org>
To:        freebsd-hardware@freebsd.org
Cc:        freebsd-hackers@freebsd.org, "Ronnel P. Maglasang" <rmaglasang@infoweapons.com>
Subject:   Re: assigning interrupts
Message-ID:  <200811131441.16427.jhb@freebsd.org>
In-Reply-To: <491BFB68.7050405@infoweapons.com>
References:  <491BFB68.7050405@infoweapons.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thursday 13 November 2008 05:03:20 am Ronnel P. Maglasang wrote:
> Hi All,
> 
> Is there a way to explicitly assign an interrupt
> of a device? I'm running on 6.3 and the two NICs
> share the same interrupt. Obviously this will affect
> the performance if the NICs are exposed to heavy network
> traffic.
> 
> # vmstat -i
> interrupt                          total       rate
> <sniff>
> irq11: em0 vr0+                  1081099         77
> <sniff>
> Total                           16958562       1222
> 
> 
> Looking at the driver's code, I have the initial though
> that this is the place where I can modify.
> 
> --
>         adapter->res_interrupt = bus_alloc_resource_any(dev,
>             SYS_RES_IRQ, &rid, RF_SHAREABLE | RF_ACTIVE);
> --
> 
> I've tried changing RF_SHAREABLE to RF_ALLOCATED or other
> values but still could not get the desired result and worst
> the device fail to initialize. Is this possible in 6.3?

You can not easily assign them, no.  In many cases the interrupt pins from the 
devices may be hardwired to a single input pin on an interrupt controller.  
In that case there is nothing you can do.  You can read more about the gory 
details here:

http://people.freebsd.org/~jhb/papers/bsdcan/2007/

-- 
John Baldwin



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