kernel_optimize_test/arch/x86/include/asm
Gleb Natapov 56028d0861 KVM: Retry fault before vmentry
When page is swapped in it is mapped into guest memory only after guest
tries to access it again and generate another fault. To save this fault
we can map it immediately since we know that guest is going to access
the page. Do it only when tdp is enabled for now. Shadow paging case is
more complicated. CR[034] and EFER registers should be switched before
doing mapping and then switched back.

Acked-by: Rik van Riel <riel@redhat.com>
Signed-off-by: Gleb Natapov <gleb@redhat.com>
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
2011-01-12 11:23:06 +02:00
..
uv x86: UV: Address interrupt/IO port operation conflict 2010-11-18 10:41:25 +01:00
visws x86: Move pci init function to x86_init 2010-02-19 16:12:29 -08:00
xen xen: implement XENMEM_machphys_mapping 2010-11-12 15:00:06 -08:00
a.out-core.h
a.out.h
acpi.h xen: add xen hvm acpi_register_gsi variant 2010-10-22 21:25:42 +01:00
aes.h
agp.h
alternative-asm.h x86-64: Reduce SMP locks table size 2010-04-28 17:15:47 -07:00
alternative.h jump label: Base patch for jump label 2010-09-22 16:29:41 -04:00
amd_iommu_proto.h x86/amd-iommu: Update copyright headers 2010-10-13 11:13:21 +02:00
amd_iommu_types.h x86/amd-iommu: Update copyright headers 2010-10-13 11:13:21 +02:00
amd_iommu.h Merge branch 'x86-iommu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2010-10-21 14:23:48 -07:00
amd_nb.h x86, k8: Rename k8.[ch] to amd_nb.[ch] and CONFIG_K8_NB to CONFIG_AMD_NB 2010-09-20 14:22:58 -07:00
apb_timer.h x86, cleanup: Remove obsolete boot_cpu_id variable 2010-08-12 14:01:38 -07:00
apic.h x86: Address gcc4.6 "set but not used" warnings in apic.h 2010-11-09 18:40:30 +01:00
apicdef.h apic, x86: Check if EILVT APIC registers are available (AMD only) 2010-10-20 04:42:13 +02:00
apm.h
arch_hweight.h x86, hweight: Use a 32-bit popcnt for __arch_hweight32() 2010-05-17 15:17:16 -07:00
asm-offsets.h
asm.h
atomic64_32.h x86-32: Rewrite 32-bit atomic64 functions in assembly 2010-02-25 20:47:30 -08:00
atomic64_64.h Merge branch 'x86-atomic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2010-05-18 08:40:05 -07:00
atomic.h Merge branch 'x86-atomic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2010-05-18 08:40:05 -07:00
auxvec.h
bios_ebda.h
bitops.h bitops: make asm-generic/bitops/find.h more generic 2010-10-09 21:51:44 +02:00
bitsperlong.h
boot.h x86: Clean up arch/x86/Kconfig* 2010-04-28 17:25:53 -07:00
bootparam.h x86, olpc: Add support for calling into OpenFirmware 2010-06-18 14:54:36 -07:00
bug.h
bugs.h
byteorder.h
cache.h Rename .data.read_mostly to .data..read_mostly. 2010-03-03 11:26:00 +01:00
cacheflush.h Merge branch 'drm-for-2.6.35' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 2010-05-21 11:14:52 -07:00
calgary.h x86, iommu: Make all IOMMU's detection routines return a value. 2010-08-26 15:13:13 -07:00
calling.h x86, asm: Fix CFI macro invocations to deal with shortcomings in gas 2010-10-19 14:28:02 -07:00
checksum_32.h
checksum_64.h
checksum.h
cmpxchg_32.h x86, asm: Merge cmpxchg_486_u64() and cmpxchg8b_emu() 2010-07-28 17:05:11 -07:00
cmpxchg_64.h x86, asm: Clean up and simplify <asm/cmpxchg.h> 2010-07-28 15:24:09 -07:00
cmpxchg.h
compat.h compat: Make compat_alloc_user_space() incorporate the access_ok() 2010-09-14 16:08:45 -07:00
cpu.h x86, cleanup: Remove obsolete boot_cpu_id variable 2010-08-12 14:01:38 -07:00
cpufeature.h Merge branch 'x86-amd-nb-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2010-10-21 13:01:08 -07:00
cpumask.h
cputime.h
current.h
debugreg.h x86/debug: Clear reserved bits of DR6 in do_debug() 2010-01-29 02:26:10 +01:00
delay.h
desc_defs.h
desc.h
device.h
div64.h
dma-mapping.h dma-mapping: remove dma_is_consistent API 2010-08-11 08:59:21 -07:00
dma.h
dmi.h
dwarf2.h x86: Use {push,pop}{l,q}_cfi in more places 2010-09-03 08:14:11 +02:00
e820.h x86: avoid high BIOS area when allocating address space 2010-12-17 10:01:30 -08:00
edac.h
efi.h x86, memblock: Replace e820_/_early string with memblock_ 2010-08-27 11:13:47 -07:00
elf.h x86: ELF_PLAT_INIT() shouldn't worry about TIF_IA32 2010-02-16 08:51:49 -08:00
emergency-restart.h
entry_arch.h Merge branches 'softirq-for-linus', 'x86-debug-for-linus', 'x86-numa-for-linus', 'x86-quirks-for-linus', 'x86-setup-for-linus', 'x86-uv-for-linus' and 'x86-vm86-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2010-10-23 08:25:36 -07:00
errno.h
fb.h x86-64: Allow fbdev primary video code 2010-02-16 21:22:26 -08:00
fcntl.h
fixmap.h arch/x86/include/asm/fixmap.h: mark __set_fixmap_offset as __always_inline 2010-11-25 06:50:49 +09:00
floppy.h
frame.h
ftrace.h
futex.h
gart.h Merge branch 'x86-iommu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2010-10-21 14:23:48 -07:00
genapic.h
geode.h cs5535: drop the Geode-specific MFGPT/GPIO code 2009-12-15 08:53:28 -08:00
gpio.h
hardirq.h irq_work: Add generic hardirq context callbacks 2010-10-18 19:58:50 +02:00
highmem.h mm: stack based kmap_atomic() 2010-10-26 16:52:08 -07:00
hpet.h x86: ioapic/hpet: Convert to new chip functions 2010-10-12 16:53:37 +02:00
hugetlb.h
hw_breakpoint.h x86: Fix instruction breakpoint encoding 2010-09-17 03:24:13 +02:00
hw_irq.h Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2010-10-21 14:11:46 -07:00
hypertransport.h
hyperv.h x86: Clean up the hypervisor layer 2010-05-07 17:13:04 -07:00
hypervisor.h x86: early PV on HVM features initialization. 2010-07-22 16:45:35 -07:00
i387.h Merge branch 'x86-fpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2010-10-21 13:34:32 -07:00
i8253.h i8253: Convert i8253_lock to raw_spinlock 2010-03-02 10:28:38 +01:00
i8259.h x86: i8259: Convert to new irq_chip functions 2010-10-12 16:53:36 +02:00
ia32_unistd.h
ia32.h
idle.h
inat_types.h
inat.h
init.h
insn.h x86: Move MAX_INSN_SIZE into asm/insn.h 2010-03-10 13:23:34 +01:00
inst.h crypto: aesni-intel - Fix another CTR build failure with gas 2.16.1 2010-03-24 21:37:57 +08:00
intel_scu_ipc.h Remove indirect read write api support. 2010-08-03 09:50:30 -04:00
io_apic.h x86/io_apic: add get_nr_irqs_gsi() 2010-10-18 10:40:30 -04:00
io.h Merge branch 'stable/xen-pcifront-0.8.2' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen 2010-10-28 17:11:17 -07:00
ioctl.h
ioctls.h
iomap.h mm: stack based kmap_atomic() 2010-10-26 16:52:08 -07:00
iommu_table.h x86, iommu: Update header comments with appropriate naming 2010-10-08 13:11:21 -07:00
iommu.h
ipcbuf.h
ipi.h
irq_regs.h
irq_remapping.h x86: Speed up the irq_remapped check in hot pathes 2010-10-12 16:53:42 +02:00
irq_vectors.h irq_work: Add generic hardirq context callbacks 2010-10-18 19:58:50 +02:00
irq.h x86-32: Allocate irq stacks seperate from percpu area 2010-10-27 17:31:42 +02:00
irqflags.h Fix IRQ flag handling naming 2010-10-07 14:08:55 +01:00
ist.h
jump_label.h jump label: Remove duplicate structure for x86 2010-09-22 17:37:43 -04:00
Kbuild archs: replace unifdef-y with header-y 2010-08-14 22:26:51 +02:00
kdebug.h x86, UV: Make kdump avoid stack dumps - fix !CONFIG_KEXEC breakage 2010-08-12 12:23:55 -07:00
kexec.h
kgdb.h kgdb,x86: Individual register get/set for x86 2010-08-05 09:22:20 -05:00
kmap_types.h
kmemcheck.h
kprobes.h x86: Move MAX_INSN_SIZE into asm/insn.h 2010-03-10 13:23:34 +01:00
kvm_emulate.h KVM: x86 emulator: Expose emulate_int_real() 2010-10-24 10:53:00 +02:00
kvm_host.h KVM: Retry fault before vmentry 2011-01-12 11:23:06 +02:00
kvm_para.h KVM: Move kvm_guest_init out of generic code 2010-10-24 10:50:49 +02:00
kvm.h KVM: x86: XSAVE/XRSTOR live migration support 2010-08-01 10:46:37 +03:00
ldt.h
lguest_hcall.h lguest: stop using KVM hypercall mechanism 2010-04-14 21:43:56 +09:30
lguest.h
linkage.h
local64.h arch: Implement local64_t 2010-06-09 11:12:36 +02:00
local.h local_t: Remove cpu_local_xx macros 2010-01-05 15:34:49 +09:00
mach_timer.h
mach_traps.h
math_emu.h
mc146818rtc.h
mca_dma.h
mca.h
mce.h x86, mce: Fix MSR_IA32_MCI_CTL2 CMCI threshold setup 2010-06-10 21:27:36 -07:00
memblock.h x86-32, memblock: Make add_highpages honor early reserved ranges 2010-10-05 21:44:35 -07:00
microcode.h Revert "x86: ucode-amd: Load ucode-patches once ..." 2010-01-23 06:21:59 +01:00
mman.h
mmconfig.h
mmu_context.h
mmu.h
mmx.h
mmzone_32.h
mmzone_64.h x86, numa: Add fixed node size option for numa emulation 2010-02-15 14:34:10 -08:00
mmzone.h
module.h x86: Remove CONFIG_4KSTACKS 2010-06-29 12:12:59 +02:00
mpspec_def.h
mpspec.h x86, ioapic: Simplify probe_nr_irqs_gsi. 2010-05-04 13:35:11 -07:00
mrst.h x86, earlyprintk: Add hsu early console for Intel Medfield platform 2010-10-08 10:01:47 +02:00
msgbuf.h
mshyperv.h x86: Clean up the hypervisor layer 2010-05-07 17:13:04 -07:00
msidef.h
msr-index.h x86-64: Fix and clean up AMD Fam10 MMCONF enabling 2010-11-18 13:41:35 +01:00
msr.h x86, gcc-4.6: Avoid unused by set variables in rdmsr 2010-07-20 15:38:18 -07:00
mtrr.h
mutex_32.h
mutex_64.h
mutex.h
mwait.h x86, mwait: Move mwait constants to a common header file 2010-09-17 15:36:40 -07:00
nmi.h lockup_detector: Combine nmi_watchdog and softlockup detector 2010-05-12 23:55:33 +02:00
nops.h
numa_32.h
numa_64.h x86, numa: Add fixed node size option for numa emulation 2010-02-15 14:34:10 -08:00
numa.h
numaq.h Merge branch 'x86-mrst-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2010-03-07 15:59:39 -08:00
olpc_ofw.h x86, olpc: Rework BIOS signature check 2010-09-23 11:15:00 -07:00
olpc.h Add OLPC XO-1 rfkill driver 2010-10-21 10:10:44 -04:00
page_32_types.h x86: Remove CONFIG_4KSTACKS 2010-06-29 12:12:59 +02:00
page_32.h
page_64_types.h
page_64.h
page_types.h x86-32: Fix sparse warning for the __PHYSICAL_MASK calculation 2010-10-07 16:36:17 -07:00
page.h x86: Document __phys_reloc_hide() usage in __pa_symbol() 2010-08-11 08:43:49 +02:00
param.h
paravirt_types.h x86, paravirt: Remove alloc_pmd_clone hook, only used by VMI 2010-08-23 17:09:44 -07:00
paravirt.h tracing: Force arch_local_irq_* notrace for paravirt 2010-11-10 22:29:49 -05:00
parport.h
pat.h
pci_64.h x86: Only call dma32_reserve_bootmem 64bit !CONFIG_NUMA 2010-02-10 17:47:18 -08:00
pci_x86.h x86/PCI: Clean up pci_cache_line_size 2010-10-18 10:49:30 -04:00
pci-direct.h
pci-functions.h
pci.h x86: Introduce x86_msi_ops 2010-10-18 10:49:34 -04:00
percpu.h x86, percpu: Optimize this_cpu_ptr 2010-09-10 10:56:47 +02:00
perf_event_p4.h perf, x86, Pentium4: Add RAW events verification 2010-09-01 08:26:56 +02:00
perf_event.h oprofile, x86: Add support for IBS periodic op counter extension 2010-10-15 12:50:43 +02:00
pgalloc.h x86, mm: Allow highmem user page tables to be disabled at boot time 2010-02-25 10:28:19 +01:00
pgtable_32_types.h x86: use __ASSEMBLY__ rather than __ASSEMBLER__ 2010-06-07 17:27:11 -07:00
pgtable_32.h mm: remove pte_*map_nested() 2010-10-26 16:52:08 -07:00
pgtable_64_types.h
pgtable_64.h mm: remove pte_*map_nested() 2010-10-26 16:52:08 -07:00
pgtable_types.h
pgtable-2level_types.h
pgtable-2level.h
pgtable-3level_types.h
pgtable-3level.h
pgtable.h x86, mm: Hold mm->page_table_lock while doing vmalloc_sync 2010-10-19 13:57:08 -07:00
poll.h
posix_types_32.h
posix_types_64.h
posix_types.h
prctl.h
processor-cyrix.h
processor-flags.h
processor.h Merge branch 'x86-idle-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2010-10-21 13:45:38 -07:00
proto.h Move round_up/down to kernel.h 2010-02-12 09:42:39 -08:00
ptrace-abi.h x86, perf, bts, mm: Delete the never used BTS-ptrace code 2010-03-26 11:33:55 +01:00
ptrace.h x86, perf, bts, mm: Delete the never used BTS-ptrace code 2010-03-26 11:33:55 +01:00
pvclock-abi.h x86, paravirt: don't compute pvclock adjustments if we trust the tsc 2010-05-19 11:41:05 +03:00
pvclock.h x86/pvclock: Zero last_value on resume 2010-11-28 09:33:20 +01:00
reboot_fixups.h
reboot.h
required-features.h x86, cpu: Support the features flags in new CPUID leaf 7 2010-07-07 17:29:18 -07:00
resource.h
resume-trace.h
rio.h
rtc.h
rwlock.h
rwsem.h x86, rwsem: Minor cleanups 2010-07-20 17:41:14 -07:00
scatterlist.h remove needless ISA_DMA_THRESHOLD 2010-08-07 18:15:50 +02:00
seccomp_32.h
seccomp_64.h
seccomp.h
sections.h
segment.h x86, asm: Fix CFI macro invocations to deal with shortcomings in gas 2010-10-19 14:28:02 -07:00
sembuf.h
serial.h
setup_arch.h
setup.h x86: add RESERVE_BRK_ARRAY() helper 2010-10-22 12:57:17 -07:00
shmbuf.h
shmparam.h
sigcontext32.h
sigcontext.h
sigframe.h
siginfo.h
signal.h
smp.h x86, kexec: Make sure to stop all CPUs before exiting the kernel 2010-10-21 13:30:44 -07:00
smpboot_hooks.h
socket.h
sockios.h
sparsemem.h
spinlock_types.h
spinlock.h
srat.h
stackprotector.h
stacktrace.h perf: Drop the skip argument from perf_arch_fetch_regs_caller 2010-06-08 23:31:27 +02:00
stat.h
statfs.h
string_32.h
string_64.h
string.h
suspend_32.h PM / x86: Save/restore MISC_ENABLE register 2010-06-08 00:32:49 +02:00
suspend_64.h PM / x86: Save/restore MISC_ENABLE register 2010-06-08 00:32:49 +02:00
suspend.h
svm.h KVM: x86: Push potential exception error code on task switches 2010-05-17 12:17:46 +03:00
swab.h
swiotlb.h x86, swiotlb: Simplify SWIOTLB pci_swiotlb_detect routine. 2010-08-26 15:13:29 -07:00
sync_bitops.h
sys_ia32.h Mark arguments to certain syscalls as being const 2010-08-13 16:53:13 -07:00
syscall.h tracing: Unify arch_syscall_addr() implementations 2010-02-17 13:07:21 +01:00
syscalls.h Make do_execve() take a const filename pointer 2010-08-17 18:07:43 -07:00
system_64.h
system.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6 2010-08-04 11:47:58 -07:00
tce.h
termbits.h
termios.h
thread_info.h Merge branch 'idle-release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-idle-2.6 2010-05-28 16:14:17 -07:00
time.h
timer.h
timex.h
tlb.h
tlbflush.h x86-32, mm: Add an initial page table for core bootstrapping 2010-10-20 14:23:55 -07:00
topology.h numa: x86_64: use generic percpu var numa_node_id() implementation 2010-05-27 09:12:57 -07:00
trampoline.h x86-32, mm: Add an initial page table for core bootstrapping 2010-10-20 14:23:55 -07:00
traps.h x86: Merge simd_math_error() into math_error() 2010-05-03 13:39:29 -07:00
tsc.h x86, tsc, sched: Recompute cyc2ns_offset's during resume from sleep states 2010-08-20 14:59:02 +02:00
types.h
uaccess_32.h x86: copy_from_user() should not return -EFAULT 2010-01-05 13:45:06 -08:00
uaccess_64.h Merge branch 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2010-02-28 10:35:09 -08:00
uaccess.h
ucontext.h
unaligned.h
unistd_32.h Merge branch 'writable_limits' of git://decibel.fi.muni.cz/~xslaby/linux 2010-08-10 12:07:51 -07:00
unistd_64.h Merge branch 'writable_limits' of git://decibel.fi.muni.cz/~xslaby/linux 2010-08-10 12:07:51 -07:00
unistd.h
user32.h
user_32.h
user_64.h
user.h x86, ptrace: regset extensions to support xstate 2010-02-11 15:08:17 -08:00
vdso.h
vga.h
vgtod.h
virtext.h
vm86.h
vmx.h KVM: VMX: Enable XSAVE/XRSTOR for guest 2010-08-01 10:46:31 +03:00
vsyscall.h
x86_init.h x86: Introduce x86_msi_ops 2010-10-18 10:49:34 -04:00
xcr.h
xor_32.h
xor_64.h
xor.h
xsave.h Merge branch 'x86-xsave-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2010-08-06 16:25:13 -07:00