From: Johannes Berg <johannes@sipsolutions.net>
To: "Thomas Weißschuh" <linux@weissschuh.net>
Cc: Tiwei Bie <tiwei.bie@linux.dev>,
richard@nod.at, anton.ivanov@cambridgegreys.com,
benjamin@sipsolutions.net, arnd@arndb.de,
linux-um@lists.infradead.org, linux-kernel@vger.kernel.org,
tiwei.btw@antgroup.com
Subject: Re: [PATCH v2 03/10] um: vdso: Implement __vdso_getcpu() via syscall
Date: Mon, 22 Sep 2025 19:07:27 +0200 [thread overview]
Message-ID: <96ae8e726480a36a37d472106b761a141394e845.camel@sipsolutions.net> (raw)
In-Reply-To: <61ae09df-d65b-4c9d-a0c1-7de915246590@t-8ch.de> (sfid-20250922_180452_263852_EC16D5FF)
On Mon, 2025-09-22 at 18:04 +0200, Thomas Weißschuh wrote:
> > I don't know if I'd say "just overhead" - depends on which path is more
> > optimised in a typical libc implementation? I'd basically think it's
> > identical, no? You either link to the vDSO, or a __weak same function in
> > the libc?
>
> The code also needs to be built and maintained.
Yeah, fair, though the vDSO doesn't really do anything, and if we do
want to use it then having a working version beats having to re-do it
from scratch, which
> AFAIK __weak is only for
> the compile-time linker. The vDSO call will be an indirect call.
yeah, I looked at the links you'd sent earlier only later ...
> > > > 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?
> >
> > Right now, none? But it's easier to play with if you have the
> > infrastructure, and I'm not convinced there's a _disadvantage_?
>
> So far that hasn't happened. The disadvantages are the ones from above,
> nothing critical. But of course it is your subsystem and your call to make.
Yeah, kind of agree, though I'd like to actually use it - especially in
time-travel mode - but haven't really gotten time to add it. Having it
maintained in-tree is a bit nicer in case of global updates, but yeah,
ultimately it's not really all that important either way.
I guess we could get getrandom() pretty easily by taking the x86 one.
I actually have half a patch somewhere that rejiggers the UM vDSO to be
more like normal architectures, using lib/vdso/gettimeofday.c and making
the build more regular etc. Maybe I should dig that up and try to make
it work entirely - it was part of a previous attempt of adding the time-
travel thing I mentioned.
> > Huh, hm, yeah I forgot about that ... 32-bit. Yeah, agree we should just
> > kill that. I'm not even sure it works with the host kernel trapping
> > there? Oh well.
>
> Ack, do you want me to send a patch? This was my real gripe with the UM
> vDSO. I want to enable time namespaces for all architectures but these
> need to be handled in the vDSO properly. For the 64-bit stub vDSO it's
> not a problem as the syscalls will work correctly.
> But the interaction with the weird 32-bit logic on the other hand...
I guess? But I'm confused by what you say about it being related to time
namespaces, the vsyscall stuff doesn't really _do_ anything, assuming it
works at all? It's not like the host actually could be doing anything
other than syscalls there, which are intercepted? If it were doing
anything else, it wouldn't work in UML in the first place?
johannes
next prev parent reply other threads:[~2025-09-22 17:07 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-08-10 5:51 [PATCH v2 00/10] um: Add SMP support Tiwei Bie
2025-08-10 5:51 ` [PATCH v2 01/10] um: Stop tracking virtual CPUs via mm_cpumask() Tiwei Bie
2025-08-10 5:51 ` [PATCH v2 02/10] um: Remove unused cpu_data and current_cpu_data macros Tiwei Bie
2025-08-10 5:51 ` [PATCH v2 03/10] um: vdso: Implement __vdso_getcpu() via syscall Tiwei Bie
2025-09-10 11:59 ` Johannes Berg
2025-09-11 4:29 ` Tiwei Bie
2025-09-21 20:00 ` Thomas Weißschuh
2025-09-22 4:50 ` Tiwei Bie
2025-09-22 12:05 ` Thomas Weißschuh
2025-09-22 12:12 ` Johannes Berg
2025-09-22 14:01 ` Thomas Weißschuh
2025-09-22 15:14 ` Johannes Berg
2025-09-22 16:04 ` Thomas Weißschuh
2025-09-22 17:07 ` Johannes Berg [this message]
2025-09-25 17:08 ` Thomas Weißschuh
2025-10-21 13:20 ` Johannes Berg
2025-08-10 5:51 ` [PATCH v2 04/10] um: Turn signals_* into thread-local variables Tiwei Bie
2025-09-10 12:15 ` Johannes Berg
2025-09-11 4:34 ` Tiwei Bie
2025-09-11 7:37 ` Benjamin Berg
2025-09-11 8:06 ` Benjamin Berg
2025-09-12 0:30 ` Tiwei Bie
2025-09-12 7:58 ` Benjamin Berg
2025-09-12 13:27 ` Tiwei Bie
2025-09-11 9:44 ` Johannes Berg
2025-09-11 10:35 ` Benjamin Berg
2025-08-10 5:51 ` [PATCH v2 05/10] um: Determine sleep based on need_resched() Tiwei Bie
2025-09-10 12:10 ` Johannes Berg
2025-09-11 4:39 ` Tiwei Bie
2025-09-11 6:59 ` Johannes Berg
2025-09-12 0:59 ` Tiwei Bie
2025-09-11 9:27 ` Johannes Berg
2025-09-12 0:54 ` Tiwei Bie
2025-08-10 5:51 ` [PATCH v2 06/10] um: Define timers on a per-CPU basis Tiwei Bie
2025-08-10 9:49 ` kernel test robot
2025-08-10 5:51 ` [PATCH v2 07/10] um: Remove unused ipi_pipe field from cpuinfo_um Tiwei Bie
2025-08-10 5:51 ` [PATCH v2 08/10] um: Add initial SMP support Tiwei Bie
2025-09-11 9:32 ` Johannes Berg
2025-09-12 0:45 ` Tiwei Bie
2025-09-12 7:58 ` Johannes Berg
2025-08-10 5:51 ` [PATCH v2 09/10] asm-generic: percpu: Add assembly guard Tiwei Bie
2025-09-10 12:12 ` Johannes Berg
2025-08-10 5:51 ` [PATCH v2 10/10] um: Enable SMP support on x86 Tiwei Bie
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=96ae8e726480a36a37d472106b761a141394e845.camel@sipsolutions.net \
--to=johannes@sipsolutions.net \
--cc=anton.ivanov@cambridgegreys.com \
--cc=arnd@arndb.de \
--cc=benjamin@sipsolutions.net \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-um@lists.infradead.org \
--cc=linux@weissschuh.net \
--cc=richard@nod.at \
--cc=tiwei.bie@linux.dev \
--cc=tiwei.btw@antgroup.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).