On Mon, Dec 14 2020 at 09:11, Shuah Khan wrote:
On 12/12/20 12:33 PM, Thomas Gleixner wrote:
On Fri, Dec 11 2020 at 13:41, Shuah Khan wrote:Interesting. The behavior I am seeing doesn't seem to be consistent
I am debugging __common_interrupt: 1.55 No irq handler for vector
messages and noticed comments and code don't agree:
I bet that's on an AMD system with broken AGESA BIOS.... Good luck
debugging it :) BIOS updates are on the way so I'm told.
with BIOS problem. I don't see these messages on 5.10-rc7. I started
seeing them on stable releases. It started right around 5.9.9 and
not present on 5.9.7.
What kind of machine?
I am bisecting to isolate. Same issue on all stables 5.4, 4.19 and
so on. If it is BIOS problem I would expect to see it on 5.10-rc7
and wouldn't have expected to start seeing it 5.9.9.
Can you provide some more details, e.g. dmesg please?
No. It's perfectly correct in the MSI code. See further down.
if (IS_ERR_OR_NULL(this_cpu_read(vector_irq[cfg->vector])))
this_cpu_write(vector_irq[cfg->vector], VECTOR_RETRIGGERED);
I am asking about inconsistent comments and the actual message as the
comment implies if vector is VECTOR_UNUSED state, this message won't
be triggered in common_interrupt. Based on that my read is the comment
might be wrong if the code is correct as you are saying.
The comment says:
>> * anyway. If the vector is unused, then it is marked so it won't
>> * trigger the 'No irq handler for vector' warning in
>> * common_interrupt().
If the vector is unused, then it is _marked_ so ....
It perhaps should explicitely say 'is marked as VECTOR_RETRIGGERED' to make
it clear.