On 2025-09-22 14:12:52+0200, Johannes Berg wrote: > On Mon, 2025-09-22 at 14:05 +0200, Thomas Weißschuh wrote: > > > The original issue could now be considered resolved. So in v3, we no > > > longer turn __vdso_getcpu into a syscall wrapper; we simply removed it. > > > Perhaps we could remove the whole VDSO before we implement the "real" > > > VDSO. However, its implementation is clean, so keeping it wouldn't hurt > > > and it could serve as a useful starting point for the "real" VDSO. > > > > A "real" vDSO would require quite some more infrastructure. > > > > What's not "real" about the vDSO now? Yes it just implement syscalls > after the getcpu removal, but ... it's still a vDSO? I _have_ played > with getting data into it for the time-travel case, at least.
Right now it does not provide any advantage over a regular syscall. Essentially it is just overhead. That said, if you do want to make a real vDSO out of it, I'd be happy to help in that. (I did most of the recent work on the generic vDSO infrastructure) > > And it is not even clear if such a vDSO will make a difference on UML. > > Syscall overhead is _huge_ in UML, if it does anything but syscalls it > will _certainly_ make a difference. Ack. > > In my > > opinion if __vdso_getcpu() gets removed, the whole vDSO should go with > > it. The code can still be easily restored from git. > > I mean ... on the one hand, sure, it doesn't really do much after this, > but OTOH it lets userspace actually use that path? So might be useful. What advantage does userspace have from it? > > Also the functionality to map the host vDSO and vsyscall page into UML > > userspace looks very weird and error-prone. Maybe it can also go away. > > Surely host vDSO etc. is never mapped into UML userspace and never is, > not sure what you're thinking of, but clearly that's wrong as written. This is how I understand the 32bit implementation using ARCH_REUSE_HOST_VSYSCALL_AREA and NEW_AUX_ENT(AT_SYSINFO_EHDR, vsyscall_ehdr) where vsyscall_ehdr comes from the hosts getauxval(AT_SYSINFO_EHDR). But I didn't actually test this. I'll look at it again, but currently I'm travelling. Thomas
