diff options
author | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2018-08-15 15:10:39 +1000 |
---|---|---|
committer | Stewart Smith <stewart@linux.ibm.com> | 2018-08-16 18:42:03 +1000 |
commit | b78d823faf4f727a113ad5907d10a45c55ca7138 (patch) | |
tree | eef7bfa00341cf4652ba70de487b3c9b38fc1cba | |
parent | 2f2e0ee95a3da96e669b40dcb41ac14177dcac8d (diff) | |
download | skiboot-b78d823faf4f727a113ad5907d10a45c55ca7138.zip skiboot-b78d823faf4f727a113ad5907d10a45c55ca7138.tar.gz skiboot-b78d823faf4f727a113ad5907d10a45c55ca7138.tar.bz2 |
cpu: Better output when waiting for a very long job
Instead of printing at the end if the job took more than 1s,
print in the loop every 30s along with a backtrace. This will
give us some output if the job is deadlocked.
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
[stewart: bump to 30s rather than 5s, preserve PR_DEBUG for >1s]
Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
-rw-r--r-- | core/cpu.c | 5 |
1 files changed, 5 insertions, 0 deletions
@@ -300,6 +300,11 @@ void cpu_wait_job(struct cpu_job *job, bool free_it) time_wait_ms(10); time_waited += 10; lwsync(); + if ((time_waited % 30000) == 0) { + prlog(PR_INFO, "cpu_wait_job(%s) for %lums\n", + job->name, time_waited); + backtrace(); + } } lwsync(); |