Zachary Amsden
9226d125d9
[PATCH] i386: paravirt CPU hypercall batching mode
...
The VMI ROM has a mode where hypercalls can be queued and batched. This turns
out to be a significant win during context switch, but must be done at a
specific point before side effects to CPU state are visible to subsequent
instructions. This is similar to the MMU batching hooks already provided.
The same hooks could be used by the Xen backend to implement a context switch
multicall.
To explain a bit more about lazy modes in the paravirt patches, basically, the
idea is that only one of lazy CPU or MMU mode can be active at any given time.
Lazy MMU mode is similar to this lazy CPU mode, and allows for batching of
multiple PTE updates (say, inside a remap loop), but to avoid keeping some
kind of state machine about when to flush cpu or mmu updates, we just allow
one or the other to be active. Although there is no real reason a more
comprehensive scheme could not be implemented, there is also no demonstrated
need for this extra complexity.
Signed-off-by: Zachary Amsden <zach@vmware.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Cc: Andi Kleen <ak@suse.de>
Cc: Jeremy Fitzhardinge <jeremy@xensource.com>
Cc: Rusty Russell <rusty@rustcorp.com.au>
Cc: Chris Wright <chrisw@sous-sol.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
2007-02-13 13:26:21 +01:00
..
irq
[PATCH] kernel: shut up the IRQ mismatch messages
2007-02-12 09:48:28 -08:00
power
[PATCH] swsusp: Change pm_ops handling by userland interface
2007-02-11 10:51:20 -08:00
time
[PATCH] kernel/time/clocksource.c needs struct task_struct on m68k
2007-02-11 10:51:20 -08:00
.gitignore
acct.c
[PATCH] kernel: change uses of f_{dentry, vfsmnt} to use f_path
2006-12-08 08:28:42 -08:00
audit.c
[PATCH] Add include/linux/freezer.h and move definitions from sched.h
2006-12-07 08:39:27 -08:00
audit.h
auditfilter.c
[PATCH] audit: fix audit_filter_user_rules() initialization bug
2007-02-11 10:51:34 -08:00
auditsc.c
[PATCH] struct path: convert kernel
2006-12-08 08:28:46 -08:00
capability.c
[PATCH] pid: replace do/while_each_task_pid with do/while_each_pid_task
2007-02-12 09:48:32 -08:00
compat.c
[PATCH] Common compat_sys_sysinfo
2007-02-11 10:51:32 -08:00
configs.c
[PATCH] struct seq_operations and struct file_operations constification
2006-12-07 08:39:46 -08:00
cpu.c
[PATCH] swsusp: Change code ordering in disk.c
2007-02-11 10:51:19 -08:00
cpuset.c
[PATCH] mark struct inode_operations const 2
2007-02-12 09:48:46 -08:00
delayacct.c
[PATCH] slab: remove kmem_cache_t
2006-12-07 08:39:25 -08:00
dma.c
[PATCH] struct seq_operations and struct file_operations constification
2006-12-07 08:39:46 -08:00
exec_domain.c
exit.c
[PATCH] pid: replace is_orphaned_pgrp with is_current_pgrp_orphaned
2007-02-12 09:48:32 -08:00
extable.c
fork.c
[PATCH] tty: update the tty layer to work with struct pid
2007-02-12 09:48:32 -08:00
futex.c
[PATCH] kernel: change uses of f_{dentry, vfsmnt} to use f_path
2006-12-08 08:28:42 -08:00
futex_compat.c
hrtimer.c
[PATCH] Numerous fixes to kernel-doc info in source files.
2007-02-11 10:51:32 -08:00
itimer.c
kallsyms.c
[PATCH] move kallsyms data to .rodata
2006-12-08 08:28:37 -08:00
Kconfig.hz
[PATCH] HZ: 300Hz support
2006-12-07 08:39:36 -08:00
Kconfig.preempt
kexec.c
Merge branch 'release' of master.kernel.org:/pub/scm/linux/kernel/git/aegl/linux-2.6
2006-12-07 15:39:22 -08:00
kfifo.c
[PATCH] Numerous fixes to kernel-doc info in source files.
2007-02-11 10:51:32 -08:00
kmod.c
[PATCH] rename struct namespace to struct mnt_namespace
2006-12-08 08:28:51 -08:00
kprobes.c
[PATCH] kprobes: replace magic numbers with enum
2007-01-30 16:01:35 -08:00
ksysfs.c
kthread.c
[PATCH] Numerous fixes to kernel-doc info in source files.
2007-02-11 10:51:32 -08:00
latency.c
[PATCH] severing module.h->sched.h
2006-12-04 02:00:22 -05:00
lockdep.c
[PATCH] lockdep: add graph depth information to /proc/lockdep
2007-02-11 10:51:26 -08:00
lockdep_internals.h
[PATCH] lockdep: more chains
2006-12-07 08:39:43 -08:00
lockdep_proc.c
[PATCH] Fix apparent typo CONFIG_LOCKDEP_DEBUG
2007-02-11 11:18:06 -08:00
Makefile
Remove stack unwinder for now
2006-12-15 08:47:51 -08:00
module.c
/sys/modules/*/holders
2007-02-07 10:37:12 -08:00
mutex-debug.c
[PATCH] lockdep: show more details about self-test failures
2006-12-07 08:39:43 -08:00
mutex-debug.h
mutex.c
[PATCH] lockdep: avoid lockdep warning in md
2006-12-08 08:28:39 -08:00
mutex.h
nsproxy.c
Revert "[PATCH] namespaces: fix exit race by splitting exit"
2007-01-30 13:35:18 -08:00
panic.c
[PATCH] Add TAINT_USER and ability to set taint flags from userspace
2007-02-11 10:51:29 -08:00
params.c
/sys/modules/*/holders
2007-02-07 10:37:12 -08:00
pid.c
[PATCH] namespaces: fix task exit disaster
2007-01-30 13:40:36 -08:00
posix-cpu-timers.c
posix-timers.c
[PATCH] Transform kmem_cache_alloc()+memset(0) -> kmem_cache_zalloc().
2007-02-11 10:51:27 -08:00
printk.c
[PATCH] order of lockdep off/on in vprintk() should be changed
2007-02-11 11:18:06 -08:00
profile.c
[PATCH] proc: remove useless (and buggy) ->nlink settings
2007-02-11 10:51:32 -08:00
ptrace.c
rcupdate.c
[PATCH] rcu: add a prefetch() in rcu_do_batch()
2006-12-07 08:39:40 -08:00
rcutorture.c
[PATCH] rcu: rcutorture suspend fix
2006-12-30 10:55:55 -08:00
relay.c
[PATCH] Numerous fixes to kernel-doc info in source files.
2007-02-11 10:51:32 -08:00
resource.c
devres: device resource management
2007-02-09 17:39:36 -05:00
rtmutex-debug.c
rtmutex-debug.h
rtmutex-tester.c
[PATCH] Add include/linux/freezer.h and move definitions from sched.h
2006-12-07 08:39:27 -08:00
rtmutex.c
rtmutex.h
rtmutex_common.h
rwsem.c
sched.c
[PATCH] i386: paravirt CPU hypercall batching mode
2007-02-13 13:26:21 +01:00
seccomp.c
signal.c
[PATCH] pid: remove the now unused kill_pg kill_pg_info and __kill_pg_info
2007-02-12 09:48:32 -08:00
softirq.c
[PATCH] softirq: remove BUG_ONs which can incorrectly trigger
2006-12-07 08:39:43 -08:00
softlockup.c
spinlock.c
[PATCH] lockdep: spin_lock_irqsave_nested()
2006-11-25 13:28:34 -08:00
srcu.c
stacktrace.c
stop_machine.c
sys.c
[PATCH] pid: replace do/while_each_task_pid with do/while_each_pid_task
2007-02-12 09:48:32 -08:00
sys_ni.c
[PATCH] Create compat_sys_migrate_pages
2006-11-03 12:27:59 -08:00
sysctl.c
[PATCH] _proc_do_string(): fix short reads
2007-02-11 11:18:07 -08:00
taskstats.c
[PATCH] taskstats: cleanup reply assembling
2006-12-07 08:39:34 -08:00
time.c
timer.c
[PATCH] x86-64: get rid of ARCH_HAVE_XTIME_LOCK
2007-02-13 13:26:21 +01:00
tsacct.c
[PATCH] io-accounting: via taskstats
2006-12-10 09:55:41 -08:00
uid16.c
user.c
[PATCH] slab: remove kmem_cache_t
2006-12-07 08:39:25 -08:00
utsname.c
wait.c
workqueue.c
[PATCH] Numerous fixes to kernel-doc info in source files.
2007-02-11 10:51:32 -08:00