Re: 2.6.19-rc6: known regressions (v4)

Linus Torvalds
2006-11-22T17:32:33Z

On Wed, 22 Nov 2006, Pavel Emelianov wrote:
>
> This works for me, but is this normal that desc's fields are
> modified non-atomically in note_interrupt()?

This is all inside the normal interrupt handling logic, so it should be
exactly as safe as any interrupt is: we don't allow the _same_ interrupt
to be entered recursively at the same time.

So yes, the counts etc are done non-atomically, but the code around it all
guarantees that only one concurrent invocation happens per irq descriptor,
so it's all ok.

(The one exception to that may be the "desc->status" modification in case
the irq is determined to have screamed, since "status" can be modified by
a recursive interrupt coming in, but (a) that's a "this irq is dead"
schenario _anyway_ and (b) if we ever care, we should lock it _there_, not
somewhere else).

Linus