diff options
author | Mark Salyzyn <salyzyn@google.com> | 2018-10-31 16:03:45 -0700 |
---|---|---|
committer | Mark Salyzyn <salyzyn@google.com> | 2018-11-01 08:13:53 -0700 |
commit | 53e782d5315578f9bf8a11df1df9bae588da3f98 (patch) | |
tree | 6e15b499e5df42990466aa9b45470e45bb6befc6 | |
parent | bd7c856507cd10221cadb8757b865cf8ec974a23 (diff) | |
download | system_core-53e782d5315578f9bf8a11df1df9bae588da3f98.tar.gz system_core-53e782d5315578f9bf8a11df1df9bae588da3f98.tar.bz2 system_core-53e782d5315578f9bf8a11df1df9bae588da3f98.zip |
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
-rw-r--r-- | llkd/libllkd.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
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 } |