aboutsummaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
Diffstat (limited to 'kernel')
-rw-r--r--kernel/watchdog.c7
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 */
320static int watchdog(void *unused) 320static 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, &param);
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, &param); 351 sched_setscheduler(current, SCHED_NORMAL, &param);
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, &param);
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;