[illumos-Developer] webrev: #725 apic_grp_set_cpu misorders checkfor FIXED interrupts

Garrett D'Amore garrett at damore.org
Sun Jun 19 08:27:30 PDT 2011


I think by definition PSM_INTR_OP_GRP_SET_CPU is only supposed to be called for real interrupt groups which exist only for MSI.  It is possible that we couls be more liberal here but I need to think through the ramifications of that.

Looking back at the original code, maybe that was the original intention.  Perhaps all that is needed here is a comment explaining the logic rather than a code change.

  -- Garrett D'Amore

On Jun 18, 2011, at 7:28 PM, Albert Lee <trisk at opensolaris.org> wrote:

> apic_set_cpu can still be entered directly through the apic_intr_ops
> dispatch for PSM_INTR_OP_SET_CPU. It already contains a check for
> irqp->airq_mps_intr_index == MSI_INDEX, but only to reject the request
> if the interrupt is MSI *and* part of an interrupt group (presumably
> because interrupt groups only exist in MSI).
> 
> I assume reassignment of a single non-MSI interrupt is allowed since
> programmable IO APICs predate MSI, so is it really erroneous to use
> PSM_INTR_OP_GRP_SET_CPU for a single non-MSI interrupt (when
> PSM_INTR_OP_SET_CPU would always succeed)?
> 
> -Albert
> 
> On Sat, Jun 18, 2011 at 3:47 PM, Dan Kruchinin <dkruchinin at acm.org> wrote:
>> On Sat, Jun 18, 2011 at 11:03 PM, Albert Lee <trisk at opensolaris.org> wrote:
>>> Dan, if you don't mind, I'd like to have a second person review this
>>> before it gets approved -- I can do the review myself later today.
>> 
>> Yes, sure, it'd be great.
>> 
>>> 
>>> -Albert
>>> 
>>> On Fri, May 13, 2011 at 1:09 AM, Garrett D'Amore <garrett at nexenta.com> wrote:
>>>> I think I already responded but this looks good.
>>>> 
>>>>  -- Garrett D'Amore
>>>> 
>>>> On May 10, 2011, at 5:02 AM, "Dan Kruchinin" <dkruchinin at acm.org> wrote:
>>>> 
>>>>> This webrev fixes a problem when apic_set_cpu() function is called for
>>>>> FIXED interrupt bypassing MSI checks
>>>>> in apic_grp_set_cpu(). CPU changing has sense for MIS/MSI-X interrupts
>>>>> only, so we should not allow it for
>>>>> FIXED interrupts. The patch checks at first if we're working with MSI
>>>>> interrupts. If it's not, exit from function
>>>>> setting *result to ENXIO.
>>>>> 
>>>>> http://cr.illumos.org/view/2jmd24zk/illumos-725-webrev/
>>>>> 
>>>>> 
>>>>> --
>>>>> W.B.R.
>>>>> Dan Kruchinin
>>>>> 
>>>>> _______________________________________________
>>>>> 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
>>>> 
>>> 
>> 
>> 
>> 
>> --
>> W.B.R.
>> Dan Kruchinin
>> 
> 
> _______________________________________________
> Developer mailing list
> Developer at lists.illumos.org
> http://lists.illumos.org/m/listinfo/developer



More information about the Developer mailing list