From: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
To: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Cc: Xen-devel <xen-devel@lists.xensource.com>,
kurt.hackel@oracle.com,
Glauber de Oliveira Costa <gcosta@redhat.com>,
Avi Kivity <avi@redhat.com>,
the arch/x86 maintainers <x86@kernel.org>,
Chris Mason <chris.mason@oracle.com>
Subject: [GIT PULL RFC] pvclock cleanups and pvclock vsyscall support
Date: Wed, 14 Oct 2009 12:28:24 -0700 [thread overview]
Message-ID: <1255548516-15260-1-git-send-email-jeremy.fitzhardinge@citrix.com> (raw)
Hi all,
This series contains several things:
- Unify the separate vdso and vsyscall implementations of vgettimeofday and
vgetcpu. There's at least one bugfix which was only applied to one copy
(ignore tcache in vgetcpu was only applied to the vdso version); this
should avoid such skews in future.
- Bug fixes for the Xen and KVM clocksource.read functions to make sure
the returned time doesn't regress compared to clocksource.cycle_last.
(Probably stable material.)
- Make sure the pvclock rdtsc is surrounded by appropriate barriers so
that it doesn't get speculated to the wrong place with respect to reading
the time parameters. (Probably stable material.)
- General cleanups of the pvclock algorithm (there's no need to make a local
copy of the time parameters before use).
- Add a new CONFIG_X86_VSYSCALL to control the compilation of vsyscall-related
code rather than just using CONFIG_X86_64 - we may want to implement 32-bit
vsyscall at some point, and this will make it easier.
- Add the sched notifier for task migration between CPUs, for use by
pvclock vread.
- Implement a pvclock vread function, so that pvclock-using clocksources can be
used by vsyscall/vdso vgettimeofday and vclock_gettime.
- Use pvclock vread in the Xen clocksource.
The following changes since commit 74fca6a42863ffacaf7ba6f1936a9f228950f657:
Linus Torvalds (1):
Linux 2.6.31
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen.git xen/vsyscall
Jeremy Fitzhardinge (12):
x86/vsyscall: use common implementation for vgetcpu
x86/vgetcpu: ignore tcache in common code.
x86/vsyscall: use common implementation for vgettimeofday
kvm/pvclock: add monotonicity check
xen/pvclock: add monotonicity check
x86/pvclock: make sure rdtsc doesn't speculate out of region
pvclock: there's no need to copy time_info into shadow
x86: create specific X86_VSYSCALL config variable
sched: add notifier for cross-cpu migrations
x86/pvclock: add vsyscall implementation
x86/fixmap: add a predicate for usermode fixmaps
xen/time: add pvclock_clocksource_vread support
arch/x86/Kconfig | 10 ++-
arch/x86/include/asm/fixmap.h | 25 +++++-
arch/x86/include/asm/pvclock.h | 6 ++
arch/x86/include/asm/vgtod.h | 64 +++++++++++++-
arch/x86/include/asm/vsyscall.h | 30 ++++++
arch/x86/kernel/Makefile | 5 +-
arch/x86/kernel/hpet.c | 4 +-
arch/x86/kernel/kvmclock.c | 7 ++-
arch/x86/kernel/pvclock.c | 186 +++++++++++++++++++++++++++++---------
arch/x86/kernel/tsc.c | 4 +-
arch/x86/kernel/vsyscall_64.c | 91 +-------------------
arch/x86/vdso/vclock_gettime.c | 46 +---------
arch/x86/vdso/vgetcpu.c | 17 +---
arch/x86/xen/Kconfig | 6 ++
arch/x86/xen/mmu.c | 5 +-
arch/x86/xen/smp.c | 2 +
arch/x86/xen/time.c | 61 +++++++++++++-
arch/x86/xen/xen-ops.h | 8 ++
include/linux/sched.h | 8 ++
include/xen/interface/vcpu.h | 41 +++++++++
kernel/sched.c | 14 +++
21 files changed, 438 insertions(+), 202 deletions(-)
next reply other threads:[~2009-10-14 19:29 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-10-14 19:28 Jeremy Fitzhardinge [this message]
2009-10-14 19:28 ` [PATCH 01/12] x86/vsyscall: use common implementation for vgetcpu Jeremy Fitzhardinge
2009-10-14 19:28 ` [PATCH 02/12] x86/vgetcpu: ignore tcache in common code Jeremy Fitzhardinge
2009-10-14 19:28 ` [PATCH 03/12] x86/vsyscall: use common implementation for vgettimeofday Jeremy Fitzhardinge
2009-10-14 19:28 ` [PATCH 04/12] kvm/pvclock: add monotonicity check Jeremy Fitzhardinge
2009-10-14 19:28 ` [PATCH 05/12] xen/pvclock: " Jeremy Fitzhardinge
2009-10-15 3:26 ` [Xen-devel] " Dan Magenheimer
2009-10-15 5:24 ` Jeremy Fitzhardinge
2009-10-15 13:27 ` Dan Magenheimer
2009-10-15 19:19 ` Jeremy Fitzhardinge
2009-10-16 1:32 ` john stultz
2009-10-16 3:10 ` Jeremy Fitzhardinge
2009-10-16 17:58 ` john stultz
2009-10-18 8:18 ` Jeremy Fitzhardinge
2009-10-14 19:28 ` [PATCH 06/12] x86/pvclock: make sure rdtsc doesn't speculate out of region Jeremy Fitzhardinge
2009-10-14 19:28 ` [PATCH 07/12] pvclock: there's no need to copy time_info into shadow Jeremy Fitzhardinge
2009-10-14 19:28 ` [PATCH 08/12] x86: create specific X86_VSYSCALL config variable Jeremy Fitzhardinge
2009-10-14 19:28 ` [PATCH 09/12] sched: add notifier for cross-cpu migrations Jeremy Fitzhardinge
2009-10-14 19:28 ` [PATCH 10/12] x86/pvclock: add vsyscall implementation Jeremy Fitzhardinge
2009-10-14 19:28 ` [PATCH 11/12] x86/fixmap: add a predicate for usermode fixmaps Jeremy Fitzhardinge
2009-10-14 19:28 ` [PATCH 12/12] xen/time: add pvclock_clocksource_vread support Jeremy Fitzhardinge
2009-10-15 6:51 ` [GIT PULL RFC] pvclock cleanups and pvclock vsyscall support Avi Kivity
2009-10-15 19:46 ` Jeremy Fitzhardinge
2009-10-18 6:43 ` Avi Kivity
2009-10-18 8:18 ` Jeremy Fitzhardinge
2009-10-18 8:23 ` Avi Kivity
2009-10-18 8:44 ` Jeremy Fitzhardinge
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=1255548516-15260-1-git-send-email-jeremy.fitzhardinge@citrix.com \
--to=jeremy.fitzhardinge@citrix.com \
--cc=avi@redhat.com \
--cc=chris.mason@oracle.com \
--cc=gcosta@redhat.com \
--cc=kurt.hackel@oracle.com \
--cc=linux-kernel@vger.kernel.org \
--cc=x86@kernel.org \
--cc=xen-devel@lists.xensource.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
all inboxes | Powered by JetHome®