Re: [PATCH] async: make sure independent async domains can'taccidentally entangle.
From: Arjan van de Ven
Date: Sun May 24 2009 - 16:20:31 EST
On Sun, 24 May 2009 13:50:43 -0500
James Bottomley <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx> wrote:
> On Sun, 2009-05-24 at 09:29 -0500, James Bottomley wrote:
> > The problem occurs when async_synchronize_full_domain() is called
> > when the async_pending list is not empty. This will cause
> > lowest_running() to return the cookie of the first entry on the
> > async_pending list, which might be nothing at all to do with the
> > domain being asked for and thus cause the domain synchronization to
> > wait for an unrelated domain. This can cause a deadlock if domain
> > synchronization is used from one domain to wait for another.
> > Fix by running over the async_pending list to see if any pending
> > items actually belong to our domain (and return their cookies if
> > they do).
> > Signed-off-by: James Bottomley
> > <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx>
> OK, so that version locked up under testing ... this version doesn't
> --- I think the phrase "MUST be called with the lock held!" was
> supposed to be some sort of clue ...
there's not many comments there.. but the ones that exist do mean
I'll craft this patch into your original description and send it to
Linus to see if he'll take it for .30, otherwise it'll go for .31
Arjan van de Ven Intel Open Source Technology Centre
For development, discussion and tips for power savings,
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/