Re: [PATCH] Export current_is_keventd() for libphy

Andrew Morton
2006-12-07T17:58:05Z

On Thu, 07 Dec 2006 12:05:38 -0500
Jeff Garzik <jeff@garzik.org> wrote:

> Yes, I merged the code, but looking deeper at phy its clear I missed
> some things.
>
> 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.

That'll lock the box on UP, or if the timer fires on the current CPU?

> Maybe the best course of action is to mark it with CONFIG_BROKEN until
> it gets fixed.

hm, maybe. I wonder if as a short-term palliative we could remove the
current_is_keventd() call and drop rtnl_lock. Or export current_is_keventd ;)