Messages in this thread | | | Subject | Re: [PATCH RESEND] Fix a dead loop in async_synchronize_full() | From | Li Zhong <> | Date | Thu, 12 Jul 2012 17:56:28 +0800 |
| |
On Wed, 2012-07-11 at 15:50 -0700, Dan Williams wrote: > On Wed, Jul 11, 2012 at 3:42 PM, Andrew Morton > <akpm@linux-foundation.org> wrote: > > The patch is fairly wordwrapped - please fix up your email client. > > > > More seriously, it does not apply to linux-next due to some fairly > > significant changes which have been sitting in Dan's tree since May. > > What's going on? > > > > Those changes missed the 3.5 merge window, but now that they have > Arjan's ack they should head upstream via James for 3.6. Right now > they are on his pending [1] branch. > > As far as the comment: > > > It seems async_synchronize_full() wants to synchronize all entries in > > all running lists(domains), so maybe we could just check the entry_count > > to know whether all works are finished. > > ...at first glance this is what the new async patches achieve. > async_synchronize_full should now sync work across all domains, but if > you can reproduce this bug it would be nice to confirm that the > pending changes fix it. >
I have tested your pending patches, they fix the problem here.
But with ASYNC_DOMAIN_EXCLUSIVE added for the domains defined on the stack, I think we lack a function that could wait for all the works in all domains (however, maybe actually we don't need such an interface).
Also, I think it's not good to exclude them from async_synchronize_full() just because they are defined on the stack.
> -- > Dan > > [1]: http://git.kernel.org/?p=linux/kernel/git/jejb/scsi.git;a=shortlog;h=refs/heads/pending >
| |