public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Andrea Arcangeli <andrea@suse.de>
To: Andi Kleen <ak@muc.de>
Cc: Jeff Dike <jdike@karaya.com>, john stultz <johnstul@us.ibm.com>,
	Linus Torvalds <torvalds@transmeta.com>,
	lkml <linux-kernel@vger.kernel.org>,
	george anzinger <george@mvista.com>,
	Stephen Hemminger <shemminger@osdl.org>
Subject: Re: [PATCH] linux-2.5.43_vsyscall_A0
Date: Sat, 19 Oct 2002 07:01:39 +0200	[thread overview]
Message-ID: <20021019050139.GM23930@dualathlon.random> (raw)
In-Reply-To: <20021019044556.GA22201@averell>

On Sat, Oct 19, 2002 at 06:45:56AM +0200, Andi Kleen wrote:
> On Sat, Oct 19, 2002 at 06:10:19AM +0200, Andrea Arcangeli wrote:
> > On Fri, Oct 18, 2002 at 11:49:59PM -0500, Jeff Dike wrote:
> > > ak@muc.de said:
> > > > Guess you'll have some problems then with UML on x86-64, which always
> > > > uses vgettimeofday. But it's only used for gettimeofday() currently,
> > > > perhaps it's  not that bad when the UML child runs with the host's
> > > > time.
> > > 
> > > It's not horrible, but it's still broken.  There are people who depend
> > > on UML being able to keep its own time separately from the host.
> > > 
> > > > I guess it would be possible to add some support for UML to map own
> > > > code over the vsyscall reserved locations. UML would need to use the
> > > > syscalls then. But it'll be likely ugly. 
> > > 
> > > Yeah, it would be.
> > > 
> > > My preferred solution would be for libc to ask the kernel where the vsyscall
> > > area is.  That's reasonably clean and virtualizable.  Andrea doesn't like it
> > > because it adds a few instructions to the vsyscall address calculation.
> > 
> > yes, my preferred solution is still a runtime /proc entry that turns off
> > vsyscalls completely by root so you could trap gettimeofday/time via the
> > usual ptrace. That would be zero cost. Of course this would be needed
> 
> Ok, a sysctl that modifies a variable in the vsyscall page and is
> tested by the code. That would be an option, I agree.

the sysctl would replace the vsyscall fixmap fixmap entry for the
current cpu enterely at switch_to time, I certainly don't want to add
not necessary branches in the core vsyscall code.  Doing it globally is
zerocost but it would probably need privilegies as said, per-task could
be more dynamic without privilegies and it would be an unlikely branch
added in switch_to, still a very low cost so still acceptable.

> For the locked TSC code we will need something like that anyways,
> so that locked TSC can force a syscall.

If we use a per-cpu TSC we don't need the syscall, the cpuid encoded in
each 64bit variable will be enough (see my past email of yesterday
evening, I realized a way to hanle per-cpu info with vsyscalls). the
main problem is as usual that the TSC isn't a real time source, it
changes frequency all the time, but as usual all the problems in the
gettimeofday implementation have little to with the vsyscalls details,
in particular now that I realized how to handle per-cpu data, they're
generic issues that needs solving even if vsyscalls would redirect to
the syscalls.

The only thing we definitely can't do in the vsyscalls is to read the
PIT because it's an old I/O mapped device, but who could ever live only
with the PIT anyways these computing days? If you've only the PIT
vsyscalls or not the gettimeofday functionality would suck.

Andrea

  reply	other threads:[~2002-10-19  4:56 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-10-18 22:57 [PATCH] linux-2.5.43_vsyscall_A0 john stultz
2002-10-18 22:58 ` [EXAMPLE CODE] linux-2.5.43_vsyscall_A0 john stultz
2002-10-19  3:52 ` [PATCH] linux-2.5.43_vsyscall_A0 Jeff Dike
2002-10-19  3:10   ` Andi Kleen
2002-10-19  4:49     ` Jeff Dike
2002-10-19  4:02       ` Andi Kleen
2002-10-19  4:16         ` Andrea Arcangeli
2002-10-20  2:59           ` Andi Kleen
2002-10-20  6:44             ` Elladan
2002-10-20  9:27               ` [discuss] " Andi Kleen
2002-10-20 10:58                 ` Elladan
2002-10-20 11:20                   ` Andi Kleen
2002-10-20 14:51             ` Andrea Arcangeli
2002-10-21 16:49               ` george anzinger
2002-10-20 13:19         ` Andreas Jaeger
2002-10-20 14:59           ` Andrea Arcangeli
2002-10-19  4:10       ` Andrea Arcangeli
2002-10-19  4:45         ` Andi Kleen
2002-10-19  5:01           ` Andrea Arcangeli [this message]
2002-10-19 23:43             ` Jeff Dike
2002-10-20  0:15               ` Andrea Arcangeli
2002-10-20  2:03                 ` Jeff Dike
2002-10-20  2:33                   ` Andrea Arcangeli
2002-10-22  5:07                     ` Jeff Dike
2002-10-22  4:15                       ` Andi Kleen
2002-10-22  4:29                         ` Andrew Morton
2002-10-22  9:39                           ` Alan Cox
2002-10-22 16:12                             ` Andrew Morton
2002-10-22  5:08                         ` Andrea Arcangeli
2002-10-22  5:27                       ` Andrea Arcangeli
2002-10-22  7:24                         ` Elladan
2002-10-22  7:40                           ` Andrea Arcangeli
2002-10-23  5:12                             ` Elladan
2002-10-23  5:43                               ` Elladan
2002-10-23 17:51                               ` Gerrit Huizenga
2002-10-21 15:43             ` Stephen Hemminger
2002-10-21 16:26               ` Andi Kleen
2002-10-21 17:10           ` john stultz
2002-10-19 19:14         ` Bill Davidsen
2002-10-20  1:50       ` Rik van Riel
2002-10-20  2:56         ` Andi Kleen
2002-10-24 11:24       ` Pavel Machek
2002-10-24 11:24     ` Pavel Machek
2002-10-19 22:36   ` Ton Hospel

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=20021019050139.GM23930@dualathlon.random \
    --to=andrea@suse.de \
    --cc=ak@muc.de \
    --cc=george@mvista.com \
    --cc=jdike@karaya.com \
    --cc=johnstul@us.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=shemminger@osdl.org \
    --cc=torvalds@transmeta.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