Re: [PATCH 44/51] writeback: implement bdi_wait_for_completion()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Jul 01, 2015 at 06:09:18PM +0200, Jan Kara wrote:
> > @@ -161,17 +178,34 @@ static void wb_queue_work(struct bdi_writeback *wb,
> >  	trace_writeback_queue(wb->bdi, work);
> >  
> >  	spin_lock_bh(&wb->work_lock);
> > -	if (!test_bit(WB_registered, &wb->state)) {
> > -		if (work->done)
> > -			complete(work->done);
> > +	if (!test_bit(WB_registered, &wb->state))
> >  		goto out_unlock;
> 
> This seems like a change in behavior. Previously unregistered wbs just
> completed the work->done, now you don't complete them. Is that intentional?

If nothing is queued, the cnt is never increased and the wait becomes
noop.  The default states are different between completion and
wb_completion.  There's no need to do anything to indicate that
nothing needs to be waited.

Thanks.

-- 
tejun

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@xxxxxxxxx.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@xxxxxxxxx";> email@xxxxxxxxx </a>



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]