[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20120613013018.GA5432@kernel>
Date: Wed, 13 Jun 2012 09:30:19 +0800
From: Wanpeng Li <liwp.linux@...il.com>
To: Fengguang Wu <fengguang.wu@...el.com>
Cc: Alexander Viro <viro@...iv.linux.org.uk>,
linux-fsdevel@...r.kernel.org, linux-kernel@...r.kernel.org,
Gavin Shan <shangw@...ux.vnet.ibm.com>,
Wanpeng Li <liwp.linux@...il.com>
Subject: Re: [PATCH] writeback: fix hung_task alarm when sync block
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@...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