From 418f398e98f5b86bd2e2febd0b04c4b41dfd46c1 Mon Sep 17 00:00:00 2001 From: Andrew Morton Date: Wed, 5 Feb 2003 16:56:38 -0800 Subject: [PATCH] Remove most of the blk_run_queues() calls We don't need these with self-unplugging queues. The patch also contains a couple of microopts suggested by Andrea: we don't need to run sync_page() if the page just came unlocked. --- fs/buffer.c | 7 +++---- fs/fs-writeback.c | 1 - fs/mpage.c | 2 -- 3 files changed, 3 insertions(+), 7 deletions(-) (limited to 'fs') diff --git a/fs/buffer.c b/fs/buffer.c index 3fc9e47c5a0a..bf6ae714c730 100644 --- a/fs/buffer.c +++ b/fs/buffer.c @@ -127,9 +127,10 @@ void __wait_on_buffer(struct buffer_head * bh) get_bh(bh); do { prepare_to_wait(wqh, &wait, TASK_UNINTERRUPTIBLE); - blk_run_queues(); - if (buffer_locked(bh)) + if (buffer_locked(bh)) { + blk_run_queues(); io_schedule(); + } } while (buffer_locked(bh)); put_bh(bh); finish_wait(wqh, &wait); @@ -959,8 +960,6 @@ no_grow: * the reserve list is empty, we're sure there are * async buffer heads in use. */ - blk_run_queues(); - free_more_memory(); goto try_again; } diff --git a/fs/fs-writeback.c b/fs/fs-writeback.c index d3db0faa9abe..1814f7a9b5ce 100644 --- a/fs/fs-writeback.c +++ b/fs/fs-writeback.c @@ -334,7 +334,6 @@ writeback_inodes(struct writeback_control *wbc) } spin_unlock(&sb_lock); spin_unlock(&inode_lock); - blk_run_queues(); } /* diff --git a/fs/mpage.c b/fs/mpage.c index 846ca1aca1bc..3460144c1894 100644 --- a/fs/mpage.c +++ b/fs/mpage.c @@ -618,7 +618,6 @@ mpage_writepages(struct address_space *mapping, int (*writepage)(struct page *page, struct writeback_control *wbc); if (wbc->nonblocking && bdi_write_congested(bdi)) { - blk_run_queues(); wbc->encountered_congestion = 1; return 0; } @@ -673,7 +672,6 @@ mpage_writepages(struct address_space *mapping, if (ret || (--(wbc->nr_to_write) <= 0)) done = 1; if (wbc->nonblocking && bdi_write_congested(bdi)) { - blk_run_queues(); wbc->encountered_congestion = 1; done = 1; } -- cgit v1.2.3