Re: [PATCH] Export current_is_keventd() for libphy

Maciej W. Rozycki
2006-12-07T18:08:39Z

On Thu, 7 Dec 2006, Jeff Garzik wrote:

> Looking into libphy's workqueue stuff, it has the following sequence:
>
> disable interrupts
> schedule_work()
>
> ... time passes ...
> ... workqueue routine is called ...
>
> enable interrupts
> handle interrupt
>
> I really have to question if a workqueue was the best choice of direction for
> such a sequence. You don't want to put off handling an interrupt, with
> interrupts disabled, for a potentially unbounded amount of time.

This is because to ack the interrupt in the device the MDIO bus has to be
accessed and I gather for some implementations it may be too obnoxiously
slow for the interrupt context to cope with. Note that only the interrupt
line used for the PHY is disabled (though obviously with consequences to
any sharers).

Andy, could you please comment?

Maciej