On Mon, Jul 7, 2025, at 08:57, Thomas Gleixner wrote:
On Tue, Jul 01 2025 at 10:58, Thomas Weißschuh wrote:
+#if defined(CONFIG_GENERIC_TIME_VSYSCALL) && defined(CONFIG_GENERIC_GETTIMEOFDAY) && \
- defined(CONFIG_POSIX_AUX_CLOCKS)
CONFIG_GENERIC_GETTIMEOFDAY requires CONFIG_GENERIC_TIME_VSYSCALL, but that's not expressed anywhere. This stuff has grown too many config options over time:
GENERIC_TIME_VSYSCALL, HAVE_GENERIC_VDSO, GENERIC_VDSO_DATA_STORE
All architectures except SPARC64 use the generic code and the generic VDSO data store implementation. That config maze wants to be consolidated.
Would it help to replace the custom sparc64 vdso with the thing that parisc does and call the fallback directly?
I doubt anyone still cares about the clock_gettime() performance on sparc64, and removing it would remove all those special cases:
arch/sparc/Kconfig | 1 - arch/sparc/include/asm/vvar.h | 75 -------- arch/sparc/kernel/Makefile | 1 - arch/sparc/kernel/vdso.c | 69 -------- arch/sparc/vdso/Makefile | 2 +- arch/sparc/vdso/vclock_gettime.c | 340 +++--------------------------------- arch/sparc/vdso/vdso.lds.S | 2 - arch/sparc/vdso/vdso32/vdso32.lds.S | 3 +- arch/sparc/vdso/vma.c | 265 +--------------------------- 9 files changed, 28 insertions(+), 730 deletions(-)
(the added lines here also fix the missing clock_gettime64, which was equally blocked on the sparc64 oddities)
Arnd