Re: [PATCH] writeback: fix hung_task alarm when sync block

From: Wanpeng Li
Date: Tue Jun 12 2012 - 21:30:26 EST


On Wed, Jun 13, 2012 at 09:18:17AM +0800, Fengguang Wu wrote:
>> >> @@ -1311,7 +1312,12 @@ 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);
>> >> + hangcheck = sysctl_hung_task_timeout_secs;
>> >> + if (hangcheck)
>> >
>> >The hangcheck variable looks redundant.
>>
>> if sysctl_hung_task_timeout_secs is equal to ZERO, it means
>> timeout -- no checking done. So I think wait_for_completion_timeout
>> makes no sense this time.
>
>I mean, you can test sysctl_hung_task_timeout_secs directly?
>It's a one shot test anyway.

/*
* Zero means infinite timeout - no checking done:
*/
unsigned long __read_mostly sysctl_hung_task_timeout_secs = CONFIG_DEFAULT_HUNG_TASK_TIMEOUT;

The comment in kernel/hung_task.c says "Zero means infinite timeout - no
cheking done". Maybe I can just test if this time alarm doesn't flood my
logs. Do you have more suggestion. :-)

Regards,
Wanpeng Li

>
>> >> + while (!wait_for_completion_timeout(&done, HZ/2))
>> >> + ;
>> >> + else
>> >> + wait_for_completion(&done);
>> >> }
>> >> EXPORT_SYMBOL(writeback_inodes_sb_nr);
>> >>
>> >> --
>> >> 1.7.9.5
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/