[PW_SID:995511] vdso: Various cleanups - #837
Conversation
When the generic vDSO does not provide time functions, as for example on riscv32, then the time data store is not necessary. Avoid allocating these time data pages when not used. Fixes: df7fcbe ("vdso: Add generic time data storage") Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de> Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
The cntvct_ok variable has not had any external user since commit c7a1810 ("lib/vdso: Avoid highres update if clocksource is not VDSO capable"). It also only has one user in vdso.c, once during init, so rather than having the caller of patch_vdso() initialize cntvct_ok, just call cntvct_functional() directly and avoid the global variable entirely. Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk> Reviewed-by: Vincenzo Frascino <vincenzo.frascino@arm.com> Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
The ENABLE_COMAPT_VDSO symbol is only used by arm64 and only for the time-related functionality. There should be no new users, so it doesn't need to be in the generic vDSO code. Move the logic into arm64 architecture-specific code and replace the explicit define by the standard '#ifdef __aarch64__'. Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de> Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
All calls of these functions are already gated behind CONFIG_TIME_NS. The compiler will already optimize them away if time namespaces are disabled. Drop the unnecessary stubs. Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de> Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
The generic vDSO can be used without the time-related functionality. In that case the generic update_vsyscall() from kernel/time/vsyscall.c should not be built. Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de> Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
On riscv32 the generic vDSO infrastructure is used but without its time-related functionality. The kconfig logic to implement this treats HAVE_GENERIC_VDSO as a synonym for GENERIC_GETTIMEOFDAY. This works today due to some underlying issues in how the generic vDSO library works. Some future cleanups will break this logic. Restructure the kconfig logic, so HAVE_GENERIC_VDSO refers to the generic library in general and GENERIC_GETTIMEOFDAY refers to its time-related functionality. Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de> Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
This configuration is never used. Remove it. Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de> Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
This configuration is never used. Remove it. Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de> Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
All users of the generic vDSO library also use the generic vDSO datastore. Remove the now unnecessary kconfig symbol. Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de> Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
All architectures implementing time-related functionality in the vDSO are using the generic vDSO library which handles time namespaces properly. Remove the now unnecessary kconfig symbol. Enables the use of time namespaces on architectures, which use the generic vDSO but did not enable GENERIC_VDSO_TIME_NS, namely MIPS and arm. Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de> Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
All architectures which want to implement getrandom() in the vDSO need to use the generic vDSO library. Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de> Signed-off-by: Linux RISC-V bot <linux.riscv.bot@gmail.com>
|
Patch 1: "[01/11] vdso/datastore: Gate time data behind CONFIG_GENERIC_GETTIMEOFDAY" |
|
Patch 1: "[01/11] vdso/datastore: Gate time data behind CONFIG_GENERIC_GETTIMEOFDAY" |
|
Patch 1: "[01/11] vdso/datastore: Gate time data behind CONFIG_GENERIC_GETTIMEOFDAY" |
|
Patch 1: "[01/11] vdso/datastore: Gate time data behind CONFIG_GENERIC_GETTIMEOFDAY" |
|
Patch 1: "[01/11] vdso/datastore: Gate time data behind CONFIG_GENERIC_GETTIMEOFDAY" |
|
Patch 1: "[01/11] vdso/datastore: Gate time data behind CONFIG_GENERIC_GETTIMEOFDAY" |
|
Patch 1: "[01/11] vdso/datastore: Gate time data behind CONFIG_GENERIC_GETTIMEOFDAY" |
|
Patch 1: "[01/11] vdso/datastore: Gate time data behind CONFIG_GENERIC_GETTIMEOFDAY" |
|
Patch 1: "[01/11] vdso/datastore: Gate time data behind CONFIG_GENERIC_GETTIMEOFDAY" |
|
Patch 1: "[01/11] vdso/datastore: Gate time data behind CONFIG_GENERIC_GETTIMEOFDAY" |
|
Patch 1: "[01/11] vdso/datastore: Gate time data behind CONFIG_GENERIC_GETTIMEOFDAY" |
|
Patch 1: "[01/11] vdso/datastore: Gate time data behind CONFIG_GENERIC_GETTIMEOFDAY" |
|
Patch 2: "[02/11] ARM: VDSO: remove cntvct_ok global variable" |
|
Patch 2: "[02/11] ARM: VDSO: remove cntvct_ok global variable" |
|
Patch 2: "[02/11] ARM: VDSO: remove cntvct_ok global variable" |
|
Patch 2: "[02/11] ARM: VDSO: remove cntvct_ok global variable" |
|
Patch 2: "[02/11] ARM: VDSO: remove cntvct_ok global variable" |
|
Patch 2: "[02/11] ARM: VDSO: remove cntvct_ok global variable" |
|
Patch 2: "[02/11] ARM: VDSO: remove cntvct_ok global variable" |
|
Patch 9: "[09/11] vdso: Drop kconfig GENERIC_VDSO_DATA_STORE" |
|
Patch 9: "[09/11] vdso: Drop kconfig GENERIC_VDSO_DATA_STORE" |
|
Patch 9: "[09/11] vdso: Drop kconfig GENERIC_VDSO_DATA_STORE" |
|
Patch 9: "[09/11] vdso: Drop kconfig GENERIC_VDSO_DATA_STORE" |
|
Patch 10: "[10/11] vdso: Drop kconfig GENERIC_VDSO_TIME_NS" |
|
Patch 10: "[10/11] vdso: Drop kconfig GENERIC_VDSO_TIME_NS" |
|
Patch 10: "[10/11] vdso: Drop kconfig GENERIC_VDSO_TIME_NS" |
|
Patch 10: "[10/11] vdso: Drop kconfig GENERIC_VDSO_TIME_NS" |
|
Patch 10: "[10/11] vdso: Drop kconfig GENERIC_VDSO_TIME_NS" |
|
Patch 10: "[10/11] vdso: Drop kconfig GENERIC_VDSO_TIME_NS" |
|
Patch 10: "[10/11] vdso: Drop kconfig GENERIC_VDSO_TIME_NS" |
|
Patch 10: "[10/11] vdso: Drop kconfig GENERIC_VDSO_TIME_NS" |
|
Patch 10: "[10/11] vdso: Drop kconfig GENERIC_VDSO_TIME_NS" |
|
Patch 10: "[10/11] vdso: Drop kconfig GENERIC_VDSO_TIME_NS" |
|
Patch 10: "[10/11] vdso: Drop kconfig GENERIC_VDSO_TIME_NS" |
|
Patch 10: "[10/11] vdso: Drop kconfig GENERIC_VDSO_TIME_NS" |
|
Patch 11: "[11/11] vdso: Gate VDSO_GETRANDOM behind HAVE_GENERIC_VDSO" |
|
Patch 11: "[11/11] vdso: Gate VDSO_GETRANDOM behind HAVE_GENERIC_VDSO" |
|
Patch 11: "[11/11] vdso: Gate VDSO_GETRANDOM behind HAVE_GENERIC_VDSO" |
|
Patch 11: "[11/11] vdso: Gate VDSO_GETRANDOM behind HAVE_GENERIC_VDSO" |
|
Patch 11: "[11/11] vdso: Gate VDSO_GETRANDOM behind HAVE_GENERIC_VDSO" |
|
Patch 11: "[11/11] vdso: Gate VDSO_GETRANDOM behind HAVE_GENERIC_VDSO" |
|
Patch 11: "[11/11] vdso: Gate VDSO_GETRANDOM behind HAVE_GENERIC_VDSO" |
|
Patch 11: "[11/11] vdso: Gate VDSO_GETRANDOM behind HAVE_GENERIC_VDSO" |
|
Patch 11: "[11/11] vdso: Gate VDSO_GETRANDOM behind HAVE_GENERIC_VDSO" |
|
Patch 11: "[11/11] vdso: Gate VDSO_GETRANDOM behind HAVE_GENERIC_VDSO" |
|
Patch 11: "[11/11] vdso: Gate VDSO_GETRANDOM behind HAVE_GENERIC_VDSO" |
|
Patch 11: "[11/11] vdso: Gate VDSO_GETRANDOM behind HAVE_GENERIC_VDSO" |
PR for series 995511 applied to workflow__riscv__fixes
Name: vdso: Various cleanups
URL: https://patchwork.kernel.org/project/linux-riscv/list/?series=995511
Version: 1