Re: 2.6.20-rc6-mm3
[Posted February 7, 2007 by corbet]
| 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)