diff options
| author | Thomas Gleixner <[email protected]> | 2011-09-12 13:40:05 +0200 |
|---|---|---|
| committer | Ingo Molnar <[email protected]> | 2011-09-18 14:34:07 +0200 |
| commit | cba9bd22a5f8f857534b9a7f3fb3cafa0ac5fb75 (patch) | |
| tree | 47cd0ede22b4e3624dd6db0ffe2b3d15fb87fbf6 | |
| parent | 51887c8230d57c4d9cc68e3784c52c8f0a708655 (diff) | |
watchdog: Drop FIFO policy in exit path
When the watchdog thread exits it runs through the exit path with FIFO
priority. There is no point in doing so. Switch back to SCHED_NORMAL
before exiting.
Cc: Don Zickus <[email protected]>
Signed-off-by: Thomas Gleixner <[email protected]>
Signed-off-by: Peter Zijlstra <[email protected]>
Link: http://lkml.kernel.org/r/alpine.LFD.2.02.1109121337461.2723@ionos
Signed-off-by: Ingo Molnar <[email protected]>
| -rw-r--r-- | kernel/watchdog.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/kernel/watchdog.c b/kernel/watchdog.c index e952a1394d26..d680381b0e9c 100644 --- a/kernel/watchdog.c +++ b/kernel/watchdog.c @@ -321,7 +321,7 @@ static enum hrtimer_restart watchdog_timer_fn(struct hrtimer *hrtimer) */ static int watchdog(void *unused) { - static struct sched_param param = { .sched_priority = MAX_RT_PRIO-1 }; + struct sched_param param = { .sched_priority = MAX_RT_PRIO-1 }; struct hrtimer *hrtimer = &__raw_get_cpu_var(watchdog_hrtimer); sched_setscheduler(current, SCHED_FIFO, ¶m); @@ -350,7 +350,8 @@ static int watchdog(void *unused) set_current_state(TASK_INTERRUPTIBLE); } __set_current_state(TASK_RUNNING); - + param.sched_priority = 0; + sched_setscheduler(current, SCHED_NORMAL, ¶m); return 0; } |