Eh? do_bottom_half() will run *any* BH that is marked. So what's the
problem? Anything that registers a BH will of course have to mark it:
that's the whole point.
> >Besides, it seems to me that the argument has been over not processing
> >BH's in after running an interrupt handler *which won't register/mark
> >active a BH in the first place*. The so-called "fast interrupts" that
> >people still seem to believe in.
>
> If one is not registered that is fine, no work to do anyway, lose a few
> cycles running the bit map. But if a BH has been registered then
> sooner or later, something has to mark_bh(). It is all very well
> delaying a BH until (say) 10 interrupts have arrived but what if we
> only get 9 interrupts? There has to be a bounded delay on running any
> delayed BH.
Ah, I think I see what you're driving at. I think you've misunderstood
what I mean. Any interrupt handler that registers a BH should mark
its BH. Always.
My point is that "fast" handlers that don't set up work to be done in
a BH won't be marking any BH's. Hence "fast" handlers don't need to
ask for SA_INTERRUPT to avoid BH processing.
In any case, this is academic, since do_bottom_half() is always called
upon return from interrupt. "Fast" handlers can't avoid it.
Regards,
Richard....
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/