diff options
author | Arnd Bergmann <arnd@arndb.de> | 2020-09-24 12:32:40 +0300 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2020-10-30 23:57:07 +0300 |
commit | 0774a6ed294b963dc76df2d8342ab86d030759ec (patch) | |
tree | ee12b2df3a2a74f576ae42d1487e9a9b37c13e54 /kernel/time/Kconfig | |
parent | 56cc7b8acfb7c763f71c0492fa8da01dca7c1760 (diff) | |
download | linux-0774a6ed294b963dc76df2d8342ab86d030759ec.tar.xz |
timekeeping: default GENERIC_CLOCKEVENTS to enabled
Almost all machines use GENERIC_CLOCKEVENTS, so it feels wrong to
require each one to select that symbol manually.
Instead, enable it whenever CONFIG_LEGACY_TIMER_TICK is disabled as
a simplification. It should be possible to select both
GENERIC_CLOCKEVENTS and LEGACY_TIMER_TICK from an architecture now
and decide at runtime between the two.
For the clockevents arch-support.txt file, this means that additional
architectures are marked as TODO when they have at least one machine
that still uses LEGACY_TIMER_TICK, rather than being marked 'ok' when
at least one machine has been converted. This means that both m68k and
arm (for riscpc) revert to TODO.
At this point, we could just always enable CONFIG_GENERIC_CLOCKEVENTS
rather than leaving it off when not needed. I built an m68k
defconfig kernel (using gcc-10.1.0) and found that this would add
around 5.5KB in kernel image size:
text data bss dec hex filename
3861936 1092236 196656 5150828 4e986c obj-m68k/vmlinux-no-clockevent
3866201 1093832 196184 5156217 4ead79 obj-m68k/vmlinux-clockevent
On Arm (MACH_RPC), that difference appears to be twice as large,
around 11KB on top of an 6MB vmlinux.
Reviewed-by: Geert Uytterhoeven <geert@linux-m68k.org>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
Tested-by: Geert Uytterhoeven <geert@linux-m68k.org>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'kernel/time/Kconfig')
-rw-r--r-- | kernel/time/Kconfig | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/time/Kconfig b/kernel/time/Kconfig index c6867f29d279..9a41848b6ebb 100644 --- a/kernel/time/Kconfig +++ b/kernel/time/Kconfig @@ -28,7 +28,7 @@ config GENERIC_TIME_VSYSCALL # The generic clock events infrastructure config GENERIC_CLOCKEVENTS - bool + def_bool !LEGACY_TIMER_TICK # Architecture can handle broadcast in a driver-agnostic way config ARCH_HAS_TICK_BROADCAST |