Messages in this thread | | | Date | Thu, 15 Apr 2010 12:33:38 +0200 | From | Jens Axboe <> | Subject | Re: [PATCH 4/4] jbd2: yield the device queue when waiting for journal commits |
| |
On Wed, Apr 14 2010, Jeff Moyer wrote: > This patch gets CFQ back in line with deadline for iozone runs, especially > those testing small files + fsync timings. > > Signed-off-by: Jeff Moyer <jmoyer@redhat.com> > --- > fs/jbd2/journal.c | 6 ++++++ > 1 files changed, 6 insertions(+), 0 deletions(-) > > diff --git a/fs/jbd2/journal.c b/fs/jbd2/journal.c > index c03d4dc..ce46df6 100644 > --- a/fs/jbd2/journal.c > +++ b/fs/jbd2/journal.c > @@ -41,6 +41,7 @@ > #include <linux/hash.h> > #include <linux/log2.h> > #include <linux/vmalloc.h> > +#include <linux/blkdev.h> > > #define CREATE_TRACE_POINTS > #include <trace/events/jbd2.h> > @@ -580,6 +581,11 @@ int jbd2_log_wait_commit(journal_t *journal, tid_t tid) > while (tid_gt(tid, journal->j_commit_sequence)) { > jbd_debug(1, "JBD: want %d, j_commit_sequence=%d\n", > tid, journal->j_commit_sequence); > + /* > + * Give up our I/O scheduler time slice to allow the journal > + * thread to issue I/O. > + */ > + blk_yield(journal->j_dev->bd_disk->queue); > wake_up(&journal->j_wait_commit); > spin_unlock(&journal->j_state_lock); > wait_event(journal->j_wait_done_commit,
White space problem here.
-- Jens Axboe
| |