lkml.org 
[lkml]   [2010]   [May]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 3/4] jbd: yield the device queue when waiting for commits
    Date
    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/jbd/journal.c | 6 ++++++
    1 files changed, 6 insertions(+), 0 deletions(-)

    diff --git a/fs/jbd/journal.c b/fs/jbd/journal.c
    index bd224ee..267108f 100644
    --- a/fs/jbd/journal.c
    +++ b/fs/jbd/journal.c
    @@ -36,6 +36,7 @@
    #include <linux/poison.h>
    #include <linux/proc_fs.h>
    #include <linux/debugfs.h>
    +#include <linux/blkdev.h>

    #include <asm/uaccess.h>
    #include <asm/page.h>
    @@ -549,6 +550,11 @@ int 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, journal->j_task);
    wake_up(&journal->j_wait_commit);
    spin_unlock(&journal->j_state_lock);
    wait_event(journal->j_wait_done_commit,
    --
    1.6.5.2


    \
     
     \ /
      Last update: 2010-05-18 20:23    [W:0.043 / U:150.640 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site