From 53e782d5315578f9bf8a11df1df9bae588da3f98 Mon Sep 17 00:00:00 2001 From: Mark Salyzyn Date: Wed, 31 Oct 2018 16:03:45 -0700 Subject: [PATCH] llkd: Add waiting task to dump Consider reporting d (lock dump) and w (waiting tasks) after t (stack dump) as the ramoops buffer could be overflowed. Test: compile Bug: 118712403 Change-Id: I64fac7e13c14a1cbc45c9e35fe7746f9b778dcf4 --- llkd/libllkd.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/llkd/libllkd.cpp b/llkd/libllkd.cpp index eec3f90a9..7140c3b47 100644 --- a/llkd/libllkd.cpp +++ b/llkd/libllkd.cpp @@ -524,10 +524,16 @@ void llkPanicKernel(bool dump, pid_t tid, const char* state) { if (dump) { // Show all locks that are held android::base::WriteStringToFd("d", sysrqTriggerFd); + // Show all waiting tasks + android::base::WriteStringToFd("w", sysrqTriggerFd); // This can trigger hardware watchdog, that is somewhat _ok_. // But useless if pstore configured for <256KB, low ram devices ... if (llkEnableSysrqT) { android::base::WriteStringToFd("t", sysrqTriggerFd); + // Show all locks that are held (in case 't' overflows ramoops) + android::base::WriteStringToFd("d", sysrqTriggerFd); + // Show all waiting tasks (in case 't' overflows ramoops) + android::base::WriteStringToFd("w", sysrqTriggerFd); } ::usleep(200000); // let everything settle }