Messages in this thread | | | Date | Sun, 24 May 2009 12:40:09 -0700 | From | Arjan van de Ven <> | Subject | Re: [PATCH] async: make sure independent async domains can't accidentally entangle. |
| |
On Sun, 24 May 2009 13:50:43 -0500 James Bottomley <James.Bottomley@HansenPartnership.com> 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@HansenPartnership.com> > > 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 something ;-)
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, visit http://www.lesswatts.org
| |