diff options
author | Nicolas Pitre <nicolas.pitre@linaro.org> | 2016-11-11 00:10:10 -0500 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2016-11-16 03:26:35 -0500 |
commit | baa73d9e478ff32d62f3f9422822b59dd9a95a21 (patch) | |
tree | ec1ac1b90e4a6c6337acb564d7fb518418fc510f /init | |
parent | 53d3eaa31508222e445b489f3c3ac4c63542a4ef (diff) |
posix-timers: Make them configurable
Some embedded systems have no use for them. This removes about
25KB from the kernel binary size when configured out.
Corresponding syscalls are routed to a stub logging the attempt to
use those syscalls which should be enough of a clue if they were
disabled without proper consideration. They are: timer_create,
timer_gettime: timer_getoverrun, timer_settime, timer_delete,
clock_adjtime, setitimer, getitimer, alarm.
The clock_settime, clock_gettime, clock_getres and clock_nanosleep
syscalls are replaced by simple wrappers compatible with CLOCK_REALTIME,
CLOCK_MONOTONIC and CLOCK_BOOTTIME only which should cover the vast
majority of use cases with very little code.
Signed-off-by: Nicolas Pitre <nico@linaro.org>
Acked-by: Richard Cochran <richardcochran@gmail.com>
Acked-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: John Stultz <john.stultz@linaro.org>
Reviewed-by: Josh Triplett <josh@joshtriplett.org>
Cc: Paul Bolle <pebolle@tiscali.nl>
Cc: linux-kbuild@vger.kernel.org
Cc: netdev@vger.kernel.org
Cc: Michal Marek <mmarek@suse.com>
Cc: Edward Cree <ecree@solarflare.com>
Link: http://lkml.kernel.org/r/1478841010-28605-7-git-send-email-nicolas.pitre@linaro.org
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'init')
-rw-r--r-- | init/Kconfig | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/init/Kconfig b/init/Kconfig index 34407f15e6d3..456e0b891238 100644 --- a/init/Kconfig +++ b/init/Kconfig | |||
@@ -1445,6 +1445,23 @@ config SYSCTL_SYSCALL | |||
1445 | 1445 | ||
1446 | If unsure say N here. | 1446 | If unsure say N here. |
1447 | 1447 | ||
1448 | config POSIX_TIMERS | ||
1449 | bool "Posix Clocks & timers" if EXPERT | ||
1450 | default y | ||
1451 | help | ||
1452 | This includes native support for POSIX timers to the kernel. | ||
1453 | Some embedded systems have no use for them and therefore they | ||
1454 | can be configured out to reduce the size of the kernel image. | ||
1455 | |||
1456 | When this option is disabled, the following syscalls won't be | ||
1457 | available: timer_create, timer_gettime: timer_getoverrun, | ||
1458 | timer_settime, timer_delete, clock_adjtime, getitimer, | ||
1459 | setitimer, alarm. Furthermore, the clock_settime, clock_gettime, | ||
1460 | clock_getres and clock_nanosleep syscalls will be limited to | ||
1461 | CLOCK_REALTIME, CLOCK_MONOTONIC and CLOCK_BOOTTIME only. | ||
1462 | |||
1463 | If unsure say y. | ||
1464 | |||
1448 | config KALLSYMS | 1465 | config KALLSYMS |
1449 | bool "Load all symbols for debugging/ksymoops" if EXPERT | 1466 | bool "Load all symbols for debugging/ksymoops" if EXPERT |
1450 | default y | 1467 | default y |