Re: [PATCH] Export current_is_keventd() for libphy

From: Maciej W. Rozycki
Date: Thu Dec 07 2006 - 13:09:04 EST


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
-
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/