[illumos-Developer] Available MSI(-x) interrupt limit.

Garrett D'Amore garrett at nexenta.com
Tue Jun 7 10:53:16 PDT 2011


You misunderstand.  The default is 2 now.  If you want more, it take extraordinary measures.

On illumos there is a more modern API that allows "cooperative" device drivers to get more, with a promise that they will yield the resources if other devices need them later.

  -- Garrett D'Amore

On Jun 7, 2011, at 8:59 PM, "Dmitry Yusupov" <dmitry at nexenta.com> wrote:

> This seems like not logical way to fix ill driver... :-) Instead of
> harming overall system performance we should fix the driver(s). And
> those vendors who ships Illumos can apply limiting settings if they
> care. I would guess that in most cases they will not use Illumos with
> devices/drivers which would consume all the interrupts and would rather
> prefer to focus the driver...
> 
> Why don't we reverse this default setting from max to min ?
> 
>> -----Original Message-----
>> From: Garrett D'Amore [mailto:garrett at nexenta.com]
>> Sent: Tuesday, June 07, 2011 7:51 AM
>> To: Alexey Zaytsev
>> Cc: illumos-dev
>> Subject: Re: [illumos-Developer] Available MSI(-x) interrupt limit.
>> 
>> Yes.    The limit comes from the fact that ill behaved devices/drivers
> could
>> easily consume all the interrupts on a system, preventing other
> devices from
>> attaching.  There was a recent rearchitecture of the interrupt code
>> specifically for MSI-X that offers far more interrupt vectors to
> devices, in
>> exchange for the device registering a callback indicating a
> willingness to
>> return interrupts back to the system when they become scarce.
>> 
>> There's also a legacy override somewhere that you can use for specific
>> devices, but it isn't documented.  I don't remember the name of the
> override,
>> but it can grow the set up to 8.
>> 
>>  -- Garrett D'Amore
>> 
>> On Jun 7, 2011, at 5:49 PM, "Alexey Zaytsev"
> <alexey.zaytsev at gmail.com>
>> wrote:
>> 
>>> Hey.
>>> 
>>> Any ideas, what's the reason to have the 2 msi per device limit?
>>> It's been there from the start of the history.
>>> 
>>> https://github.com/illumos/illumos-
>> gate/blob/master/usr/src/uts/common/os/ddi_intr_impl.c#L296
>>> https://github.com/illumos/illumos-
>> gate/blob/master/usr/src/uts/common/os/ddi_intr_impl.c#L40
>>> https://github.com/illumos/illumos-
>> gate/blob/master/usr/src/uts/common/sys/ddi_intr_impl.h#L146
>>> 
>>> _______________________________________________
>>> Developer mailing list
>>> Developer at lists.illumos.org
>>> http://lists.illumos.org/m/listinfo/developer
>> 
>> _______________________________________________
>> Developer mailing list
>> Developer at lists.illumos.org
>> http://lists.illumos.org/m/listinfo/developer



More information about the Developer mailing list