aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/kernel-parameters.txt
diff options
context:
space:
mode:
authorNaohiro Ooiwa <nooiwa@miraclelinux.com>2009-11-08 10:46:42 -0500
committerIngo Molnar <mingo@elte.hu>2009-11-09 03:44:26 -0500
commitf84d49b218b7d4c6cba2e0b41f24bd4045403962 (patch)
treed62ed0c15152c1a0a78fb75feac649dafc05b041 /Documentation/kernel-parameters.txt
parent2a855dd01bc1539111adb7233f587c5c468732ac (diff)
signal: Print warning message when dropping signals
When the system has too many timers or too many aggregate queued signals, the EAGAIN error is returned to application from kernel, including timer_create() [POSIX.1b]. It means that the app exceeded the limit of pending signals, but in general application writers do not expect this outcome and the current silent failure can cause rare app failures under very high load. This patch adds a new message when we reach the limit and if print_fatal_signals is enabled: task/1234: reached RLIMIT_SIGPENDING, dropping signal If you see this message and your system behaved unexpectedly, you can run following command to lift the limit: # ulimit -i unlimited With help from Hiroshi Shimamoto <h-shimamoto@ct.jp.nec.com>. Signed-off-by: Naohiro Ooiwa <nooiwa@miraclelinux.com> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Hiroshi Shimamoto <h-shimamoto@ct.jp.nec.com> Cc: Roland McGrath <roland@redhat.com> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Cc: oleg@redhat.com LKML-Reference: <4AF6E7E2.9080406@miraclelinux.com> [ Modified a few small details, gave surrounding code some love. ] Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'Documentation/kernel-parameters.txt')
-rw-r--r--Documentation/kernel-parameters.txt11
1 files changed, 9 insertions, 2 deletions
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
index 9107b387e91f..3bbd92f805a6 100644
--- a/Documentation/kernel-parameters.txt
+++ b/Documentation/kernel-parameters.txt
@@ -2032,8 +2032,15 @@ and is between 256 and 4096 characters. It is defined in the file
2032 2032
2033 print-fatal-signals= 2033 print-fatal-signals=
2034 [KNL] debug: print fatal signals 2034 [KNL] debug: print fatal signals
2035 print-fatal-signals=1: print segfault info to 2035
2036 the kernel console. 2036 If enabled, warn about various signal handling
2037 related application anomalies: too many signals,
2038 too many POSIX.1 timers, fatal signals causing a
2039 coredump - etc.
2040
2041 If you hit the warning due to signal overflow,
2042 you might want to try "ulimit -i unlimited".
2043
2037 default: off. 2044 default: off.
2038 2045
2039 printk.time= Show timing data prefixed to each printk message line 2046 printk.time= Show timing data prefixed to each printk message line