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:1.019 / U:0.732 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site