[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <x49txyf8exl.fsf@segfault.boston.devel.redhat.com>
Date: Wed, 13 Jun 2012 10:27:50 -0400
From: Jeff Moyer <jmoyer@...hat.com>
To: Wanpeng Li <liwp.linux@...il.com>
Cc: Fengguang Wu <fengguang.wu@...el.com>,
Alexander Viro <viro@...iv.linux.org.uk>,
linux-fsdevel@...r.kernel.org, linux-kernel@...r.kernel.org,
Gavin Shan <shangw@...ux.vnet.ibm.com>
Subject: Re: [PATCH V2] writeback: fix hung_task alarm when sync block
Wanpeng Li <liwp.linux@...il.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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists