Messages in this thread Patch in this message | | | Date | Mon, 30 Nov 2009 12:21:20 -0800 | Subject | Re: PATCH: softlockup: Fix hung_task_check_count sysctl | From | Mandeep Baines <> |
| |
On Mon, Nov 30, 2009 at 11:13 AM, Mandeep Singh Baines <msb@google.com> wrote: > To disable hung_task at runtime: > > # echo 0 > /proc/sys/kernel/hung_task_check_count >
D'oh. Copy and paste error. I meant
# echo 0 > /proc/sys/kernel/hung_task_timeout_secs
The nice thing about hung_task_timeout_secs=0 is that hungtaskd will no longer run. Implementing no checking done with hung_task_check_count=0 would result in the task getting scheduled, running, and then doing nothing.
> 33 /* > 34 * Zero means infinite timeout - no checking done: > 35 */ > 36 unsigned long __read_mostly sysctl_hung_task_timeout_secs = 120; > > For hung_task_check_count, 0 means there is no maximum so all tasks > are checked. > > Anton Blanchard (anton@samba.org) wrote: >> >> I'm seeing spikes of up to 0.5ms in khungtaskd on a large machine. To reduce >> this source of jitter I tried setting hung_task_check_count to 0: >> > > Hmm, maybe khungtaskd should be run using SCHED_IDLE. > >> # echo 0 > /proc/sys/kernel/hung_task_check_count >> >> which didn't have the intended response. Change to a post increment of >> max_count, so a value of 0 means check 0 tasks. >> >> Signed-off-by: Anton Blanchard <anton@samba.org> >> --- >> >> Index: linux.trees.git/kernel/hung_task.c >> =================================================================== >> --- linux.trees.git.orig/kernel/hung_task.c 2009-11-27 13:11:46.000000000 +1100 >> +++ linux.trees.git/kernel/hung_task.c 2009-11-27 13:11:57.000000000 +1100 >> @@ -144,7 +144,7 @@ static void check_hung_uninterruptible_t >> >> rcu_read_lock(); >> do_each_thread(g, t) { >> - if (!--max_count) >> + if (!max_count--) >> goto unlock; >> if (!--batch_count) { >> batch_count = HUNG_TASK_BATCHING; > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |