On Mon, Apr 30, 2012 at 01:56:16PM -0700, John Stultz wrote:Yes, but at least on x86 its just one implementation that needs to be modified.No. So, on architectures that support vsyscalls/vdso (x86_64,Okay, so now I understand the vDSO page thingy. Help me please to
powerpc, ia64, and maybe a few others) getnstimeofday() is really
only an internal interface for in-kernel access. Userland uses the
vsyscall/vdso interface to be able to read the time completely from
userland context (with no syscall overhead). Since this is done in
different ways for each architecture, you need to export the proper
information out via update_vsyscall() and also update the
arch-specific vsyscall gettimeofday paths (which is non-trivial, as
some arches are implemented in asm, etc - my sympathies here, its a
pain).
understand exactly which architectures would need changes for my
proposal.
The only archs exporting time variables/functions through vDSO are
those which define CONFIG_GENERIC_TIME_VSYSCALL=y, namely:
- ia64
- powerpc 64 and 32 bit
- s390 64 and 32 bit
- x86 64 bit only **
** But 32 guest running in a 64 host also has time in the vDSO?!?
That looks right to me.
Did I get that right?