diff options
author | Peter Korsgaard <jacmet@sunsite.dk> | 2013-01-06 00:07:19 +0100 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2013-01-06 13:30:50 -0500 |
commit | cd776cf96735760311560495f3f0078ae72e98a0 (patch) | |
tree | 21aa8361ce965d00921923430f4773fcc060e6cd /sysklogd/Config.src | |
parent | d189b598b449f3a258354133180e7b770c04526c (diff) | |
download | busybox-w32-cd776cf96735760311560495f3f0078ae72e98a0.tar.gz busybox-w32-cd776cf96735760311560495f3f0078ae72e98a0.tar.bz2 busybox-w32-cd776cf96735760311560495f3f0078ae72e98a0.zip |
syslogd: add option to log to Linux kernel printk buffer
Why invent our own shared memory circular buffer when the kernel has a
perfectly fine one already?
This can be used as a smaller/simpler alternative to the syslogd IPC support
(as IPC shmem/klogd/logread aren't needed), while also allowing centralised
logging of everything (kernel messages, userspace bootup and syslog)
when used together with ttyprintk.
Notice that kernel 3.5+ is needed to store syslog facility in printk buffer,
otherwise only the priority is stored.
bloat-o-meter compared to IPC+klogd+logread:
function old new delta
get_linux_version_code - 84 +84
lbb_prepare 25 90 +65
applet_nameofs 6 - -6
static.stdout@@GLIBC_2 8 - -8
applet_names 23 9 -14
bb_msg_standard_output 16 - -16
init_sem 18 - -18
xatoull_range 19 - -19
overlapping_strcpy 21 - -21
init_data 56 32 -24
applet_main 24 - -24
main 124 99 -25
full_write2_str 26 - -26
error_exit 26 - -26
bb_basename 30 - -30
sem_up 32 - -32
interrupted 35 - -35
fflush_stdout_and_exit 38 - -38
bb_banner 46 - -46
find_applet_by_name 59 - -59
bb_signals_recursive_norestart 90 - -90
run_applet_no_and_exit 104 - -104
timestamp_and_log 651 523 -128
syslogd_main 798 581 -217
xstrtoull_range_sfx 267 - -267
run_applet_and_exit 432 - -432
klogd_main 490 - -490
logread_main 508 - -508
.rodata 1870 937 -933
bb_common_bufsiz1 8193 - -8193
------------------------------------------------------------------------------
(add/remove: 2/26 grow/shrink: 1/6 up/down: 149/-11829) Total: -11680 bytes
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Diffstat (limited to 'sysklogd/Config.src')
-rw-r--r-- | sysklogd/Config.src | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/sysklogd/Config.src b/sysklogd/Config.src index b7a494eff..fcf993054 100644 --- a/sysklogd/Config.src +++ b/sysklogd/Config.src | |||
@@ -113,6 +113,19 @@ config FEATURE_LOGREAD_REDUCED_LOCKING | |||
113 | from circular buffer, minimizing semaphore | 113 | from circular buffer, minimizing semaphore |
114 | contention at some minor memory expense. | 114 | contention at some minor memory expense. |
115 | 115 | ||
116 | config FEATURE_KMSG_SYSLOG | ||
117 | bool "Linux kernel printk buffer support" | ||
118 | default y | ||
119 | depends on SYSLOGD | ||
120 | select PLATFORM_LINUX | ||
121 | help | ||
122 | When you enable this feature, the syslogd utility will | ||
123 | write system log message to the Linux kernel's printk buffer. | ||
124 | This can be used as a smaller alternative to the syslogd IPC | ||
125 | support, as klogd and logread aren't needed. | ||
126 | |||
127 | NOTICE: Syslog facilities in log entries needs kernel 3.5+. | ||
128 | |||
116 | config KLOGD | 129 | config KLOGD |
117 | bool "klogd" | 130 | bool "klogd" |
118 | default y | 131 | default y |
@@ -123,6 +136,9 @@ config KLOGD | |||
123 | you wish to record the messages produced by the kernel, | 136 | you wish to record the messages produced by the kernel, |
124 | you should enable this option. | 137 | you should enable this option. |
125 | 138 | ||
139 | comment "klogd should not be used together with syslog to kernel printk buffer" | ||
140 | depends on KLOGD && FEATURE_KMSG_SYSLOG | ||
141 | |||
126 | config FEATURE_KLOGD_KLOGCTL | 142 | config FEATURE_KLOGD_KLOGCTL |
127 | bool "Use the klogctl() interface" | 143 | bool "Use the klogctl() interface" |
128 | default y | 144 | default y |