lkml.org 
[lkml]   [2012]   [Jun]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH V2] writeback: fix hung_task alarm when sync block
On Wed, Jun 13, 2012 at 12:42:33PM +0800, Wanpeng Li wrote:
> Hi Fengguang,
>
> This time it works well after testing.
>
> Regards,
> Wanpeng Li
>
> From: Wanpeng Li <liwp@linux.vnet.ibm.com>
>
> "V1 -> V2"
> * remove redundant hangcheck variable
>
> I use several dd processes to write a slow SD card
> dd if=/dev/sda1 of=/dev/sdc4 bs=1M count=4000
> and several sync commands(maybe > 10),dmesg show this:
>
> [ 366.888741] INFO: task sync:3518 blocked for more than 120 seconds.
> [ 366.888742] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
> [ 366.888746] sync D 00000201 0 3518 3462 0x00000000
> [ 366.888752] dcde5e54 00000082 00000000 00000201 00000000 c180d220 c1933d00 c1933d00
> [ 366.888758] 614a7ae7 00000023 f6bc0d00 ebecb280 c180d220 f6bc0d6c f04acbfc 00000000
> [ 366.888786] f6bc0d6c dcde5e2c 00000023 f6bc0d44 00000000 00000000 ebd8b2b4 dcde5e6c
> [ 366.888788] Call Trace:
> [ 366.888792] [<c107a0ee>] ? enqueue_entity+0xee/0x5a0
> [ 366.888795] [<c15abc83>] schedule+0x23/0x60
> [ 366.888798] [<c15aa5ad>] schedule_timeout+0x22d/0x2a0
> [ 366.888801] [<c1071ce2>] ? check_preempt_curr+0x72/0x90
> [ 366.888804] [<c1071d28>] ? ttwu_do_wakeup+0x28/0x130
> [ 366.888807] [<c1037f28>] ? default_spin_lock_flags+0x8/0x10
> [ 366.888810] [<c15acaad>] ? _raw_spin_lock_irqsave+0x2d/0x40
> [ 366.888813] [<c15abb17>] wait_for_common+0xa7/0x110
> [ 366.888816] [<c1074690>] ? try_to_wake_up+0x220/0x220
> [ 366.888819] [<c15abc57>] wait_for_completion+0x17/0x20
> [ 366.888822] [<c116ad80>] writeback_inodes_sb_nr+0x70/0x90
> [ 366.888825] [<c116af75>] writeback_inodes_sb+0x25/0x30
> [ 366.888828] [<c117159f>] __sync_filesystem+0x4f/0x90
> [ 366.888831] [<c11715f7>] sync_one_sb+0x17/0x20
> [ 366.888834] [<c114c430>] iterate_supers+0xc0/0xd0
> [ 366.888837] [<c11715e0>] ? __sync_filesystem+0x90/0x90
> [ 366.888831] [<c11715f7>] sync_one_sb+0x17/0x20
> [ 366.888834] [<c114c430>] iterate_supers+0xc0/0xd0
> [ 366.888837] [<c11715e0>] ? __sync_filesystem+0x90/0x90
> [ 366.888840] [<c117167b>] sys_sync+0x2b/0x60
> [ 366.888842] [<c15b385f>] sysenter_do_call+0x12/0x28
>
> Too many similar messages flood the logs. So I use a present method to
> fix this issue.

NACK.

You're not fixing anything - you are simply removing a warning
that indicates that there IO subsystem is overloaded. This is a very
good warning to have - when the system slows down immensely, and
these start appearing, we know that there is a problem related to IO
writeback. For example, this -current- thread on the XFS list:

http://oss.sgi.com/archives/xfs/2012-06/msg00144.html

Which a) we probably would have never heard of if the hung task warning
didn't fire on blocked IOs, and b) would have struggled to
understand without the stack traces the hung task timer has provided
us with.


Cheers,

Dave.
--
Dave Chinner
david@fromorbit.com


\
 
 \ /
  Last update: 2012-06-16 01:21    [from the cache]
©2003-2011 Jasper Spaans