diff options
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/watchdog.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/kernel/watchdog.c b/kernel/watchdog.c index 14bc092fb12c..203fc6e1a285 100644 --- a/kernel/watchdog.c +++ b/kernel/watchdog.c | |||
@@ -319,11 +319,9 @@ static enum hrtimer_restart watchdog_timer_fn(struct hrtimer *hrtimer) | |||
319 | */ | 319 | */ |
320 | static int watchdog(void *unused) | 320 | static int watchdog(void *unused) |
321 | { | 321 | { |
322 | struct sched_param param = { .sched_priority = MAX_RT_PRIO-1 }; | 322 | struct sched_param param = { .sched_priority = 0 }; |
323 | struct hrtimer *hrtimer = &__raw_get_cpu_var(watchdog_hrtimer); | 323 | struct hrtimer *hrtimer = &__raw_get_cpu_var(watchdog_hrtimer); |
324 | 324 | ||
325 | sched_setscheduler(current, SCHED_FIFO, ¶m); | ||
326 | |||
327 | /* initialize timestamp */ | 325 | /* initialize timestamp */ |
328 | __touch_watchdog(); | 326 | __touch_watchdog(); |
329 | 327 | ||
@@ -350,7 +348,6 @@ static int watchdog(void *unused) | |||
350 | set_current_state(TASK_INTERRUPTIBLE); | 348 | set_current_state(TASK_INTERRUPTIBLE); |
351 | } | 349 | } |
352 | __set_current_state(TASK_RUNNING); | 350 | __set_current_state(TASK_RUNNING); |
353 | param.sched_priority = 0; | ||
354 | sched_setscheduler(current, SCHED_NORMAL, ¶m); | 351 | sched_setscheduler(current, SCHED_NORMAL, ¶m); |
355 | return 0; | 352 | return 0; |
356 | } | 353 | } |
@@ -439,6 +436,7 @@ static int watchdog_enable(int cpu) | |||
439 | 436 | ||
440 | /* create the watchdog thread */ | 437 | /* create the watchdog thread */ |
441 | if (!p) { | 438 | if (!p) { |
439 | struct sched_param param = { .sched_priority = MAX_RT_PRIO-1 }; | ||
442 | p = kthread_create_on_node(watchdog, NULL, cpu_to_node(cpu), "watchdog/%d", cpu); | 440 | p = kthread_create_on_node(watchdog, NULL, cpu_to_node(cpu), "watchdog/%d", cpu); |
443 | if (IS_ERR(p)) { | 441 | if (IS_ERR(p)) { |
444 | printk(KERN_ERR "softlockup watchdog for %i failed\n", cpu); | 442 | printk(KERN_ERR "softlockup watchdog for %i failed\n", cpu); |
@@ -450,6 +448,7 @@ static int watchdog_enable(int cpu) | |||
450 | } | 448 | } |
451 | goto out; | 449 | goto out; |
452 | } | 450 | } |
451 | sched_setscheduler(p, SCHED_FIFO, ¶m); | ||
453 | kthread_bind(p, cpu); | 452 | kthread_bind(p, cpu); |
454 | per_cpu(watchdog_touch_ts, cpu) = 0; | 453 | per_cpu(watchdog_touch_ts, cpu) = 0; |
455 | per_cpu(softlockup_watchdog, cpu) = p; | 454 | per_cpu(softlockup_watchdog, cpu) = p; |