Re: [GIT pull] x86 vdso updates
From: richard -rw- weinberger
Date: Fri May 27 2011 - 10:59:56 EST
On Fri, May 27, 2011 at 2:10 PM, Andrew Lutomirski <luto@xxxxxxx> wrote:
> On Fri, May 27, 2011 at 7:59 AM, richard -rw- weinberger
> <richard.weinberger@xxxxxxxxx> wrote:
>> On Fri, May 27, 2011 at 1:36 PM, Andrew Lutomirski <luto@xxxxxxx> wrote:
>>> 2. Remove the vsyscall64 sysctl. That will reduce the number of
>>> vsyscalls that require the kernel's help to one. (This is a bit
>>> unfortunate for UML users, but I'm not sure what to do about that.
>>> UML vgetcpu is already terminally broken.)
>>
>> Can you please be a bit more precise on that?
>> When there is anything I can do, let me know...
>
> glibc's implementation of time, sched_getcpu, and (for static
> binaries) gettimeofday calls a fixed address in kernel space which
> returns the answer. On UML, that address is presumably in *host*
> kernel space and the host will return what the host thinks the answer
> is.
>
> That's a bit unfortunate if the guest has a different idea of cpu
> numbering or what time it is. Right now, setting kernel.vsyscall64=0
> will turn gettimeofday and time (but not sched_getcpu) into a real
> syscall. The problem is that I want to remove the vsyscall64 sysctl.
>
> If this is considered enough of a regression, then I guess we can
> leave vsyscall64 around for awhile, but it will require extra work in
> the soon-to-be syscall emulation hack to make sure that UML can still
> trap the syscall.
As long the time within UML is synchronous with the host everything is
fine, right?
So, as _last_ choice we could disable the ability to change the time within UML.
IMHO it's not a big deal when getcpu() returns a wrong CPU layout on UML.
> The real solution is to fix glibc to use the vDSO which should avoid
> this problem entirely.
Is this "bug" known? And the biggest question, will Ulrich fix it some day?
--
Thanks,
//richard
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/