From akpm@osdl.org Wed Jan 31 23:13:11 2007 Date: Wed, 31 Jan 2007 23:12:53 -0800 From: Andrew Morton To: David Chinner Cc: Christoph Lameter , linux-kernel@vger.kernel.org, Jens Axboe Subject: Re: 2.6.20-rc6-mm3 On Thu, 1 Feb 2007 17:20:18 +1100 David Chinner wrote: > What are the new unplugging rules introduced by the git-block > patch? Pretty simple: you read the largely-useless changelog then call the bravely uncommented blk_plug_current() when you're about to submit some IO and you call the audaciously uncommented blk_unplug_current() when you've finished and you're ready to let it rip. But usually none of that is necessary, because io_schedule() does all the work for you. err, this might help. --- a/fs/xfs/linux-2.6/xfs_buf.c~git-block-xfs-fix +++ a/fs/xfs/linux-2.6/xfs_buf.c @@ -979,7 +979,7 @@ xfs_buf_wait_unpin( set_current_state(TASK_UNINTERRUPTIBLE); if (atomic_read(&bp->b_pin_count) == 0) break; - schedule(); + io_schedule(); } remove_wait_queue(&bp->b_waiters, &wait); set_current_state(TASK_RUNNING); _