|
@@ -15,6 +15,7 @@
|
|
|
#include <linux/lockdep.h>
|
|
|
#include <linux/export.h>
|
|
|
#include <linux/sysctl.h>
|
|
|
+#include <linux/utsname.h>
|
|
|
|
|
|
/*
|
|
|
* The number of tasks checked:
|
|
@@ -99,10 +100,14 @@ static void check_hung_task(struct task_struct *t, unsigned long timeout)
|
|
|
* Ok, the task did not get scheduled for more than 2 minutes,
|
|
|
* complain:
|
|
|
*/
|
|
|
- printk(KERN_ERR "INFO: task %s:%d blocked for more than "
|
|
|
- "%ld seconds.\n", t->comm, t->pid, timeout);
|
|
|
- printk(KERN_ERR "\"echo 0 > /proc/sys/kernel/hung_task_timeout_secs\""
|
|
|
- " disables this message.\n");
|
|
|
+ pr_err("INFO: task %s:%d blocked for more than %ld seconds.\n",
|
|
|
+ t->comm, t->pid, timeout);
|
|
|
+ pr_err(" %s %s %.*s\n",
|
|
|
+ print_tainted(), init_utsname()->release,
|
|
|
+ (int)strcspn(init_utsname()->version, " "),
|
|
|
+ init_utsname()->version);
|
|
|
+ pr_err("\"echo 0 > /proc/sys/kernel/hung_task_timeout_secs\""
|
|
|
+ " disables this message.\n");
|
|
|
sched_show_task(t);
|
|
|
debug_show_held_locks(t);
|
|
|
|