summaryrefslogtreecommitdiffstats
path: root/llkd
diff options
context:
space:
mode:
authorMark Salyzyn <salyzyn@google.com>2018-12-12 09:19:49 -0800
committerMark Salyzyn <salyzyn@google.com>2019-01-04 10:46:05 -0800
commitb658ffa2f397bfe6730a4791470476b54b9d645c (patch)
tree3000099b2ef5955b40d338a9bfc1115468f171dd /llkd
parent22e05fb5a4767ee7226564c9fb6b4a53f31bbe58 (diff)
downloadsystem_core-b658ffa2f397bfe6730a4791470476b54b9d645c.tar.gz
system_core-b658ffa2f397bfe6730a4791470476b54b9d645c.tar.bz2
system_core-b658ffa2f397bfe6730a4791470476b54b9d645c.zip
llkd: check stack for wait_on_page_bit_killable
User process in S state blocked by deadlock in I/O system wait_on_page_bit is covered by regular D state tracking. Bug: 120776455 Test: long term stability on multiple devices Change-Id: Icdb99b8095f384cb440f0f2bdeba86c5991b9ef4
Diffstat (limited to 'llkd')
-rw-r--r--llkd/README.md5
-rw-r--r--llkd/include/llkd.h3
2 files changed, 5 insertions, 3 deletions
diff --git a/llkd/README.md b/llkd/README.md
index 224e184d2..7cc7e1f94 100644
--- a/llkd/README.md
+++ b/llkd/README.md
@@ -135,8 +135,9 @@ Only active on userdebug or eng builds.
default 2 minutes samples of threads for D or Z.
#### ro.llk.stack
-default cma_alloc,__get_user_pages,bit_wait_io comma separated list of kernel
-symbols. The string "*false*" is the equivalent to an *empty* list.
+default cma_alloc,__get_user_pages,bit_wait_io,wait_on_page_bit_killable
+comma separated list of kernel symbols.
+The string "*false*" is the equivalent to an *empty* list.
Look for kernel stack symbols that if ever persistently present can
indicate a subsystem is locked up.
Beware, check does not on purpose do forward scheduling ABA except by polling
diff --git a/llkd/include/llkd.h b/llkd/include/llkd.h
index 1efa32b74..7b7dbf90f 100644
--- a/llkd/include/llkd.h
+++ b/llkd/include/llkd.h
@@ -50,7 +50,8 @@ unsigned llkCheckMilliseconds(void);
/* LLK_CHECK_MS_DEFAULT = actual timeout_ms / LLK_CHECKS_PER_TIMEOUT_DEFAULT */
#define LLK_CHECKS_PER_TIMEOUT_DEFAULT 5
#define LLK_CHECK_STACK_PROPERTY "ro.llk.stack"
-#define LLK_CHECK_STACK_DEFAULT "cma_alloc,__get_user_pages,bit_wait_io"
+#define LLK_CHECK_STACK_DEFAULT \
+ "cma_alloc,__get_user_pages,bit_wait_io,wait_on_page_bit_killable"
#define LLK_BLACKLIST_PROCESS_PROPERTY "ro.llk.blacklist.process"
#define LLK_BLACKLIST_PROCESS_DEFAULT \
"0,1,2,init,[kthreadd],[khungtaskd],lmkd,llkd,watchdogd,[watchdogd],[watchdogd/0]"