Re: 2.6.19-rc6: known regressions (v4)

From: Linus Torvalds
Date: Wed Nov 22 2006 - 12:32:47 EST




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
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/