lkml.org 
[lkml]   [2012]   [Jun]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    SubjectRe: [PATCH V2] writeback: fix hung_task alarm when sync block
    Date
    Wanpeng Li <liwp.linux@gmail.com> writes:

    > diff --git a/fs/fs-writeback.c b/fs/fs-writeback.c
    > index f2d0109..df879ee 100644
    > --- a/fs/fs-writeback.c
    > +++ b/fs/fs-writeback.c
    > @@ -1311,7 +1311,11 @@ void writeback_inodes_sb_nr(struct super_block *sb,
    >
    > WARN_ON(!rwsem_is_locked(&sb->s_umount));
    > bdi_queue_work(sb->s_bdi, &work);
    > - wait_for_completion(&done);
    > + if (sysctl_hung_task_timeout_secs)
    > + while (!wait_for_completion_timeout(&done, HZ/2))
    > + ;
    > + else
    > + wait_for_completion(&done);
    > }
    > EXPORT_SYMBOL(writeback_inodes_sb_nr);

    Is it really expected that writeback_inodes_sb_nr will routinely queue
    up more than 2 seconds worth of I/O (Yes, I understand that it isn't the
    only entity issuing I/O)? For devices that are really slow, it may make
    more sense to tune the system so that you don't have too much writeback
    I/O submitted at once. Dropping nr_requests for the given queue should
    fix this situation, I would think.

    This really feels like we're papering over the problem.

    Cheers,
    Jeff


    \
     
     \ /
      Last update: 2012-06-13 17:01    [W:4.735 / U:0.036 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site