diff options
author | Mandeep Singh Baines <msb@google.com> | 2009-02-06 18:37:47 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-02-09 05:03:49 -0500 |
commit | 17406b82d621930cca8ccc1272cdac9a7dae8e40 (patch) | |
tree | 224c8b0b7c78a5467175fe10e116bdc6b73495ea /kernel/fork.c | |
parent | 94be52dc075a32af4aa73d7e10f68734d62d6af2 (diff) |
softlockup: remove timestamp checking from hung_task
Impact: saves sizeof(long) bytes per task_struct
By guaranteeing that sysctl_hung_task_timeout_secs have elapsed between
tasklist scans we can avoid using timestamps.
Signed-off-by: Mandeep Singh Baines <msb@google.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'kernel/fork.c')
-rw-r--r-- | kernel/fork.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/kernel/fork.c b/kernel/fork.c index fb9444282836..bf582f75014b 100644 --- a/kernel/fork.c +++ b/kernel/fork.c | |||
@@ -639,6 +639,9 @@ static int copy_mm(unsigned long clone_flags, struct task_struct * tsk) | |||
639 | 639 | ||
640 | tsk->min_flt = tsk->maj_flt = 0; | 640 | tsk->min_flt = tsk->maj_flt = 0; |
641 | tsk->nvcsw = tsk->nivcsw = 0; | 641 | tsk->nvcsw = tsk->nivcsw = 0; |
642 | #ifdef CONFIG_DETECT_HUNG_TASK | ||
643 | tsk->last_switch_count = tsk->nvcsw + tsk->nivcsw; | ||
644 | #endif | ||
642 | 645 | ||
643 | tsk->mm = NULL; | 646 | tsk->mm = NULL; |
644 | tsk->active_mm = NULL; | 647 | tsk->active_mm = NULL; |
@@ -1041,11 +1044,6 @@ static struct task_struct *copy_process(unsigned long clone_flags, | |||
1041 | 1044 | ||
1042 | p->default_timer_slack_ns = current->timer_slack_ns; | 1045 | p->default_timer_slack_ns = current->timer_slack_ns; |
1043 | 1046 | ||
1044 | #ifdef CONFIG_DETECT_HUNG_TASK | ||
1045 | p->last_switch_count = 0; | ||
1046 | p->last_switch_timestamp = 0; | ||
1047 | #endif | ||
1048 | |||
1049 | task_io_accounting_init(&p->ioac); | 1047 | task_io_accounting_init(&p->ioac); |
1050 | acct_clear_integrals(p); | 1048 | acct_clear_integrals(p); |
1051 | 1049 | ||