LWN.net Logo

Re: 2.6.20-rc6-mm3

From:  Andrew Morton <akpm-AT-osdl.org>
To:  David Chinner <dgc-AT-sgi.com>
Subject:  Re: 2.6.20-rc6-mm3
Date:  Wed, 31 Jan 2007 23:12:53 -0800
Cc:  Christoph Lameter <clameter-AT-sgi.com>, linux-kernel-AT-vger.kernel.org, Jens Axboe <jens.axboe-AT-oracle.com>
Archive-link:  Article, Thread

On Thu, 1 Feb 2007 17:20:18 +1100 David Chinner <dgc@sgi.com> 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);
_



(Log in to post comments)

Copyright © 2007, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds