summaryrefslogtreecommitdiff
path: root/arch/x86/tools/chkobjdump.awk
diff options
context:
space:
mode:
authorRoman Gushchin <guro@fb.com>2017-11-17 15:26:45 -0800
committerKarol Lewandowski <k.lewandowsk@samsung.com>2020-05-26 15:11:29 +0200
commit7d599670f9864fc54e953f1a9ac3a0767968bfca (patch)
treec57bb41d461fa62c4db11d65427ed8507baea3fc /arch/x86/tools/chkobjdump.awk
parentdb92f438ea5fcdb580c0190a624cd833208a7eae (diff)
downloadlinux-exynos-submit/tizen/20200529.040605.tar.gz
linux-exynos-submit/tizen/20200529.040605.tar.bz2
linux-exynos-submit/tizen/20200529.040605.zip
proc, coredump: add CoreDumping flag to /proc/pid/statussubmit/tizen/20200529.040605accepted/tizen/unified/20200529.124048
Right now there is no convenient way to check if a process is being coredumped at the moment. It might be necessary to recognize such state to prevent killing the process and getting a broken coredump. Writing a large core might take significant time, and the process is unresponsive during it, so it might be killed by timeout, if another process is monitoring and killing/restarting hanging tasks. We're getting a significant number of corrupted coredump files on machines in our fleet, just because processes are being killed by timeout in the middle of the core writing process. We do have a process health check, and some agent is responsible for restarting processes which are not responding for health check requests. Writing a large coredump to the disk can easily exceed the reasonable timeout (especially on an overloaded machine). This flag will allow the agent to distinguish processes which are being coredumped, extend the timeout for them, and let them produce a full coredump file. To provide an ability to detect if a process is in the state of being coredumped, we can expose a boolean CoreDumping flag in /proc/pid/status. Example: $ cat core.sh #!/bin/sh echo "|/usr/bin/sleep 10" > /proc/sys/kernel/core_pattern sleep 1000 & PID=$! cat /proc/$PID/status | grep CoreDumping kill -ABRT $PID sleep 1 cat /proc/$PID/status | grep CoreDumping $ ./core.sh CoreDumping: 0 CoreDumping: 1 [guro@fb.com: document CoreDumping flag in /proc/<pid>/status] Link: http://lkml.kernel.org/r/20170928135357.GA8470@castle.DHCP.thefacebook.com Link: http://lkml.kernel.org/r/20170920230634.31572-1-guro@fb.com Signed-off-by: Roman Gushchin <guro@fb.com> Cc: Alexander Viro <viro@zeniv.linux.org.uk> Cc: Ingo Molnar <mingo@kernel.org> Cc: Konstantin Khlebnikov <koct9i@gmail.com> Cc: Oleg Nesterov <oleg@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> [k.lewandowsk: backport mainline commit c643401218 for userspace process managers (eg. resourced) to be able to avoid killing dead processes, breaking crash reports] Signed-off-by: Karol Lewandowski <k.lewandowsk@samsung.com> Change-Id: I7a7588752a24392d16963a7b3f78764d9bce1e2b
Diffstat (limited to 'arch/x86/tools/chkobjdump.awk')
0 files changed, 0 insertions, 0 deletions