* [PATCH] x86: Reserve FIRST_DEVICE_VECTOR in used_vectors bitmap.
@ 2008-09-29 13:39 Stefan Bader
2008-09-30 9:51 ` Ingo Molnar
0 siblings, 1 reply; 6+ messages in thread
From: Stefan Bader @ 2008-09-29 13:39 UTC (permalink / raw)
To: linux-kernel, Ingo Molnar
[-- Attachment #1: Type: text/plain, Size: 1 bytes --]
[-- Attachment #2: 0001-x86-Reserve-FIRST_DEVICE_VECTOR-in-used_vectors-bit.patch --]
[-- Type: application/mbox, Size: 1523 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] x86: Reserve FIRST_DEVICE_VECTOR in used_vectors bitmap.
2008-09-29 13:39 [PATCH] x86: Reserve FIRST_DEVICE_VECTOR in used_vectors bitmap Stefan Bader
@ 2008-09-30 9:51 ` Ingo Molnar
2008-09-30 12:53 ` Stefan Bader
0 siblings, 1 reply; 6+ messages in thread
From: Ingo Molnar @ 2008-09-30 9:51 UTC (permalink / raw)
To: Stefan Bader
Cc: linux-kernel, Yinghai Lu, Eric W. Biederman, Thomas Gleixner,
H. Peter Anvin
> Someone from the community found out, that after repeatedly unloading
> and loading a device driver that uses MSI IRQs, the system eventually
> assigned the vector initially reserved for IRQ0 to the device driver.
> The reason for this is, that although IRQ0 is tied to the
> FIRST_DEVICE_VECTOR when declaring the irq_vector table, the
> corresponding bit in the used_vectors map is not set. So, if vectors
> are released and assigned often enough, the vector will get assigned
> to another interrupt. This happens more often with MSI interrupts as
> those are exclusively using a vector.
>
> Fix this by setting the bit for the FIRST_DEVICE_VECTOR in the bitmap.
hi, the IO-APIC code got unified in the x86 tree for v2.6.28.
So could you please send the fix against tip/master:
http://people.redhat.com/mingo/tip.git/README
Thanks,
Ingo
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] x86: Reserve FIRST_DEVICE_VECTOR in used_vectors bitmap.
2008-09-30 9:51 ` Ingo Molnar
@ 2008-09-30 12:53 ` Stefan Bader
2008-10-02 12:14 ` Stefan Bader
0 siblings, 1 reply; 6+ messages in thread
From: Stefan Bader @ 2008-09-30 12:53 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Yinghai Lu, Eric W. Biederman, Thomas Gleixner,
H. Peter Anvin
Ingo Molnar wrote:
>> Someone from the community found out, that after repeatedly unloading
>> and loading a device driver that uses MSI IRQs, the system eventually
>> assigned the vector initially reserved for IRQ0 to the device driver.
>
>> The reason for this is, that although IRQ0 is tied to the
>> FIRST_DEVICE_VECTOR when declaring the irq_vector table, the
>> corresponding bit in the used_vectors map is not set. So, if vectors
>> are released and assigned often enough, the vector will get assigned
>> to another interrupt. This happens more often with MSI interrupts as
>> those are exclusively using a vector.
>>
>> Fix this by setting the bit for the FIRST_DEVICE_VECTOR in the bitmap.
>
> hi, the IO-APIC code got unified in the x86 tree for v2.6.28.
>
> So could you please send the fix against tip/master:
>
> http://people.redhat.com/mingo/tip.git/README
>
> Thanks,
>
> Ingo
I can't see this as required for tip. FIRST_DEVICE_VECTOR is there defined
distinct to the ISA IRQs (IRQ15_VECTOR+2) while it is defined to be equal to
IRQ0_VECTOR on 2.6.27 and before (at least down to 2.6.24).
Regards,
Stefan
--
When all other means of communication fail, try words!
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] x86: Reserve FIRST_DEVICE_VECTOR in used_vectors bitmap.
2008-09-30 12:53 ` Stefan Bader
@ 2008-10-02 12:14 ` Stefan Bader
2008-10-03 8:56 ` Ingo Molnar
0 siblings, 1 reply; 6+ messages in thread
From: Stefan Bader @ 2008-10-02 12:14 UTC (permalink / raw)
To: Ingo Molnar
Cc: linux-kernel, Yinghai Lu, Eric W. Biederman, Thomas Gleixner,
H. Peter Anvin
2008/9/30 Stefan Bader <stefan.bader@canonical.com>:
> Ingo Molnar wrote:
>>> Someone from the community found out, that after repeatedly unloading
>>> and loading a device driver that uses MSI IRQs, the system eventually
>>> assigned the vector initially reserved for IRQ0 to the device driver.
>>
>>> The reason for this is, that although IRQ0 is tied to the
>>> FIRST_DEVICE_VECTOR when declaring the irq_vector table, the
>>> corresponding bit in the used_vectors map is not set. So, if vectors
>>> are released and assigned often enough, the vector will get assigned
>>> to another interrupt. This happens more often with MSI interrupts as
>>> those are exclusively using a vector.
>>>
>>> Fix this by setting the bit for the FIRST_DEVICE_VECTOR in the bitmap.
>>
>> hi, the IO-APIC code got unified in the x86 tree for v2.6.28.
>>
>> So could you please send the fix against tip/master:
>>
>> http://people.redhat.com/mingo/tip.git/README
>>
>> Thanks,
>>
>> Ingo
>
> I can't see this as required for tip. FIRST_DEVICE_VECTOR is there defined
> distinct to the ISA IRQs (IRQ15_VECTOR+2) while it is defined to be equal to
> IRQ0_VECTOR on 2.6.27 and before (at least down to 2.6.24).
>
Hi Ingo,
I didn't see any follow up, so for clarification: there is nothing to
fix in tip but the bug is there in kernels between 2.6.24 and 2.6.27.
Could you push it to 2.6.27 and possibly to the stable trees?
Stefan
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] x86: Reserve FIRST_DEVICE_VECTOR in used_vectors bitmap.
2008-10-02 12:14 ` Stefan Bader
@ 2008-10-03 8:56 ` Ingo Molnar
0 siblings, 0 replies; 6+ messages in thread
From: Ingo Molnar @ 2008-10-03 8:56 UTC (permalink / raw)
To: Stefan Bader
Cc: linux-kernel, Yinghai Lu, Eric W. Biederman, Thomas Gleixner,
H. Peter Anvin
* Stefan Bader <stefan.bader@canonical.com> wrote:
> Hi Ingo,
>
> I didn't see any follow up, so for clarification: there is nothing to
> fix in tip but the bug is there in kernels between 2.6.24 and 2.6.27.
> Could you push it to 2.6.27 and possibly to the stable trees?
it's too late for v2.6.27 - this bug permeates so many kernel versions
that it's clearly not in the '2.6.27 regression' category. But it can be
asked to be included in -stable after v2.6.27 is released.
Ingo
^ permalink raw reply [flat|nested] 6+ messages in thread
* [PATCH] x86: Reserve FIRST_DEVICE_VECTOR in used_vectors bitmap
@ 2008-10-10 20:01 Stefan Bader
0 siblings, 0 replies; 6+ messages in thread
From: Stefan Bader @ 2008-10-10 20:01 UTC (permalink / raw)
To: stable
Cc: linux-kernel, Thomas Gleixner, H. Peter Anvin, Yinghai Lu,
Ingo Molnar
[-- Attachment #1: Type: text/plain, Size: 792 bytes --]
Affected: 2.6.24-2.6.27
Someone from the community found out, that after repeatedly unloading and
loading a device driver that uses MSI IRQs, the system eventually assigned
the vector initially reserved for IRQ0 to the device driver.
The reason for this is, that although IRQ0 is tied to the FIRST_DEVICE_VECTOR
when declaring the irq_vector table, the corresponding bit in the used_vectors
map is not set. So, if vectors are released and assigned often enough, the
vector will get assigned to another interrupt. This happens more often with
MSI interrupts as those are exclusively using a vector.
Fix this by setting the bit for the FIRST_DEVICE_VECTOR in the bitmap.
Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
--
When all other means of communication fail, try words!
[-- Attachment #2: 0001-x86-Reserve-FIRST_DEVICE_VECTOR-in-used_vectors-bit.patch --]
[-- Type: application/mbox, Size: 1523 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2008-10-10 20:02 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-09-29 13:39 [PATCH] x86: Reserve FIRST_DEVICE_VECTOR in used_vectors bitmap Stefan Bader
2008-09-30 9:51 ` Ingo Molnar
2008-09-30 12:53 ` Stefan Bader
2008-10-02 12:14 ` Stefan Bader
2008-10-03 8:56 ` Ingo Molnar
-- strict thread matches above, loose matches on Subject: below --
2008-10-10 20:01 Stefan Bader
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox