WSL2-Linux-Kernel/arch/x86/include/asm
Zachary Amsden c285545f81 KVM: x86: TSC catchup mode
Negate the effects of AN TYM spell while kvm thread is preempted by tracking
conversion factor to the highest TSC rate and catching the TSC up when it has
fallen behind the kernel view of time.  Note that once triggered, we don't
turn off catchup mode.

A slightly more clever version of this is possible, which only does catchup
when TSC rate drops, and which specifically targets only CPUs with broken
TSC, but since these all are considered unstable_tsc(), this patch covers
all necessary cases.

Signed-off-by: Zachary Amsden <zamsden@redhat.com>
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
2010-10-24 10:53:05 +02:00
..
uv x86, UV: Modularize BAU send and wait 2010-06-08 21:13:48 +02:00
visws x86: Move pci init function to x86_init 2010-02-19 16:12:29 -08:00
xen Merge branch 'stable/xen-swiotlb-0.8.6' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen 2010-08-12 09:09:41 -07:00
Kbuild archs: replace unifdef-y with header-y 2010-08-14 22:26:51 +02:00
a.out-core.h hw-breakpoints: Fix broken a.out format dump 2009-11-10 11:23:05 +01:00
a.out.h
acpi.h x86: Fix keeping track of AMD C1E 2010-08-02 08:45:56 -07: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 x86, alternatives: Use 16-bit numbers for cpufeature index 2010-07-07 10:36:28 -07:00
amd_iommu.h x86/amd-iommu: Update copyright headers 2009-11-27 11:45:49 +01:00
amd_iommu_proto.h x86/amd-iommu: Work around S3 BIOS bug 2010-09-23 16:26:03 +02:00
amd_iommu_types.h x86/amd-iommu: Work around S3 BIOS bug 2010-09-23 16:26:03 +02:00
apb_timer.h x86, mrst: add more timer config options 2010-05-19 13:45:39 -07:00
apic.h x86, apic: Allow to use certain functions without APIC built-in support 2010-03-18 17:03:21 +01:00
apicdef.h x86: io-apic: IO-APIC MMIO should not fail on resource insertion 2009-11-16 16:37:10 +01: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 kbuild: move asm-offsets.h to include/generated 2009-12-12 13:08:14 +01:00
asm.h
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
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
auxvec.h
bios_ebda.h
bitops.h x86: Avoid 'constant_test_bit()' misoptimization due to cast to non-volatile 2010-09-26 22:43:07 -07: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 x86: Convert BUG() to use unreachable() 2009-12-05 09:10:12 -08:00
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: Calgary: Convert detect_calgary() to use iommu_init hook 2009-11-10 12:31:15 +01:00
calling.h
checksum.h
checksum_32.h x86: fix csum_ipv6_magic asm memory clobber 2009-10-01 16:11:12 -07:00
checksum_64.h
cmpxchg.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
compat.h compat: Make compat_alloc_user_space() incorporate the access_ok() 2010-09-14 16:08:45 -07:00
cpu.h
cpufeature.h x86/hwmon: fix initialization of coretemp 2010-09-24 11:44:19 -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.h x86: Make sure get_user_desc() doesn't sign extend. 2009-11-05 13:22:18 -08:00
desc_defs.h tree-wide: fix assorted typos all over the place 2009-12-04 15:39:55 +01:00
device.h x86/amd-iommu: Use dev->arch->iommu to store iommu related information 2009-11-27 14:20:32 +01:00
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 .cfi_sections for assembly code 2010-05-13 22:15:18 -07:00
e820.h x86, tboot: Add support for S3 memory integrity protection 2010-03-19 13:39:58 -07:00
edac.h
efi.h
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 x86: UV RTC: Rename generic_interrupt to x86_platform_ipi 2009-10-14 18:27:11 +02:00
errno.h
fb.h x86-64: Allow fbdev primary video code 2010-02-16 21:22:26 -08:00
fcntl.h
fixmap.h x86: Fix placement of FIX_OHCI1394_BASE 2010-03-16 11:16:27 +01:00
floppy.h
frame.h
ftrace.h
futex.h
gart.h x86: GART: Convert gart_iommu_hole_init() to use iommu_init hook 2009-11-10 12:31:23 +01: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 x86, asm: Introduce and use percpu_inc() 2010-04-28 16:58:49 -07:00
highmem.h kmap_atomic: make kunmap_atomic() harder to misuse 2010-08-09 20:44:54 -07:00
hpet.h x86: hpet: Work around hardware stupidity 2010-09-15 00:55:13 +02:00
hugetlb.h
hw_breakpoint.h x86: Fix instruction breakpoint encoding 2010-09-17 03:24:13 +02:00
hw_irq.h x86: Handle legacy PIC interrupts on all the cpu's 2010-03-16 06:36:35 +01: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-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
i8253.h i8253: Convert i8253_lock to raw_spinlock 2010-03-02 10:28:38 +01:00
i8259.h Merge remote branch 'origin/x86/apic' into x86/mrst 2010-02-22 16:25:18 -08:00
ia32.h
ia32_unistd.h
idle.h
inat.h x86: AVX instruction set decoder support 2009-10-29 08:47:46 +01:00
inat_types.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.h x86: Fix 'reservetop=' functionality 2010-04-30 12:19:53 +02:00
io_apic.h x86, irq: Rename gsi_end gsi_top, and fix off by one errors 2010-06-09 13:34:06 -07:00
ioctl.h
ioctls.h
iomap.h x86: Fix the address space annotations of iomap_atomic_prot_pfn() 2010-09-05 14:26:14 +02:00
iommu.h x86: Move iommu_shutdown_noop to x86_init.c 2009-11-15 09:03:10 +01:00
ipcbuf.h
ipi.h
irq.h x86, legacy_irq: Remove left over nr_legacy_irqs 2010-02-24 11:01:34 -08:00
irq_regs.h
irq_remapping.h
irq_vectors.h x86/xen: event channels delivery on HVM. 2010-07-22 16:45:59 -07:00
irqflags.h
ist.h
k8.h x86, k8: Fix build error when K8_NB is disabled 2010-05-14 11:53:01 -07: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.h KVM: x86: XSAVE/XRSTOR live migration support 2010-08-01 10:46:37 +03:00
kvm_emulate.h KVM: x86 emulator: Expose emulate_int_real() 2010-10-24 10:53:00 +02:00
kvm_host.h KVM: x86: TSC catchup mode 2010-10-24 10:53:05 +02:00
kvm_para.h KVM: Move kvm_guest_init out of generic code 2010-10-24 10:50:49 +02:00
ldt.h
lguest.h
lguest_hcall.h lguest: stop using KVM hypercall mechanism 2010-04-14 21:43:56 +09:30
linkage.h
local.h local_t: Remove cpu_local_xx macros 2010-01-05 15:34:49 +09:00
local64.h arch: Implement local64_t 2010-06-09 11:12:36 +02:00
mach_timer.h
mach_traps.h
math_emu.h
mc146818rtc.h
mca.h
mca_dma.h
mce.h x86, mce: Fix MSR_IA32_MCI_CTL2 CMCI threshold setup 2010-06-10 21:27:36 -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.h
mmu_context.h cpumask: use mm_cpumask() wrapper: x86 2009-09-24 09:34:52 +09:30
mmx.h
mmzone.h
mmzone_32.h tree-wide: fix assorted typos all over the place 2009-12-04 15:39:55 +01:00
mmzone_64.h x86, numa: Add fixed node size option for numa emulation 2010-02-15 14:34:10 -08:00
module.h
mpspec.h x86, ioapic: Simplify probe_nr_irqs_gsi. 2010-05-04 13:35:11 -07:00
mpspec_def.h
mrst.h x86, mrst: make mrst_timer_options an enum 2010-05-19 14:37:40 -07: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: Define MSR_EBC_FREQUENCY_ID 2010-10-24 10:52:26 +02: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.h
mutex_32.h
mutex_64.h
nmi.h lockup_detector: Combine nmi_watchdog and softlockup detector 2010-05-12 23:55:33 +02:00
nops.h
numa.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
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.h x86, olpc: Use pci subarch init for OLPC 2010-02-25 19:26:23 -08:00
olpc_ofw.h x86, olpc: Constify an olpc_ofw() arg 2010-07-30 18:02:21 -07:00
page.h x86: Document __phys_reloc_hide() usage in __pa_symbol() 2010-08-11 08:43:49 +02:00
page_32.h
page_32_types.h
page_64.h
page_64_types.h
page_types.h x86: Use the generic page_is_ram() 2010-02-01 16:58:17 -08:00
param.h
paravirt.h x86, paravirt: Remove kmap_atomic_pte paravirt op. 2010-02-27 14:41:35 -08:00
paravirt_types.h x86, paravirt: Remove kmap_atomic_pte paravirt op. 2010-02-27 14:41:35 -08:00
parport.h
pat.h x86, platform: Change is_untracked_pat_range() to bool; cleanup init 2009-11-23 17:09:59 -08:00
pci-direct.h
pci-functions.h
pci.h x86/PCI: only define pci_domain_nr if PCI and PCI_DOMAINS are set 2010-08-17 09:29:36 -07:00
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: Add option to not assign BAR's if not already assigned 2010-07-30 09:29:12 -07:00
percpu.h percpu, x86: Avoid warnings of unused variables in per cpu 2010-06-11 00:03:45 +02:00
perf_event.h Merge branch 'perf/core' of git://git.kernel.org/pub/scm/linux/kernel/git/frederic/random-tracing into perf/core 2010-06-09 18:55:57 +02:00
perf_event_p4.h perf, x86: P4 PMU -- redesign cache events 2010-07-05 08:34:36 +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-2level.h
pgtable-2level_types.h
pgtable-3level.h
pgtable-3level_types.h
pgtable.h x86, mm: is_untracked_pat_range() takes a normal semiclosed range 2009-11-23 17:09:59 -08:00
pgtable_32.h x86-32: Separate 1:1 pagetables from swapper_pg_dir 2010-08-18 09:17:20 -07:00
pgtable_32_types.h x86: use __ASSEMBLY__ rather than __ASSEMBLER__ 2010-06-07 17:27:11 -07:00
pgtable_64.h gcc-4.6: mm: fix unused but set warnings 2010-08-09 20:44:58 -07:00
pgtable_64_types.h
pgtable_types.h
poll.h
posix_types.h
posix_types_32.h
posix_types_64.h
prctl.h
processor-cyrix.h
processor-flags.h
processor.h x86: Fix keeping track of AMD C1E 2010-08-02 08:45:56 -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: Move scale_delta into common header 2010-10-24 10:51:24 +02:00
reboot.h
reboot_fixups.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.h
seccomp_32.h
seccomp_64.h
sections.h x86-64: align RODATA kernel section to 2MB with CONFIG_DEBUG_RODATA 2009-10-20 14:46:00 +09:00
segment.h
sembuf.h
serial.h
setup.h support multiple .discard.* sections to avoid section type conflicts 2010-07-27 22:45:19 -07:00
setup_arch.h
shmbuf.h
shmparam.h
sigcontext.h tree-wide: fix misspelling of "definition" in comments 2009-12-04 23:41:47 +01:00
sigcontext32.h
sigframe.h
siginfo.h
signal.h
smp.h x86, lib: Add wbinvd smp helpers 2010-01-22 16:05:42 -08:00
smpboot_hooks.h
socket.h
sockios.h
sparsemem.h
spinlock.h locking: Convert raw_rwlock functions to arch_rwlock 2009-12-14 23:55:32 +01:00
spinlock_types.h locking: Convert raw_rwlock to arch_rwlock 2009-12-14 23:55:32 +01:00
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.h
string_32.h x86: Use __builtin_memset and __builtin_memcpy for memset/memcpy 2009-09-28 16:43:15 -07:00
string_64.h
suspend.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
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: Split swiotlb initialization into two stages 2009-12-15 13:01:57 +01: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.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6 2010-08-04 11:47:58 -07:00
system_64.h
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
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: Fix dummy trampoline-related inline stubs 2010-08-18 12:42:24 -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.h x86, 64-bit: Move K8 B step iret fixup to fault entry asm 2009-10-12 18:29:46 +02:00
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
ucontext.h
unaligned.h
unistd.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
user.h x86, ptrace: regset extensions to support xstate 2010-02-11 15:08:17 -08:00
user32.h
user_32.h
user_64.h
vdso.h
vga.h
vgtod.h
virtext.h
vm86.h
vmi.h
vmi_time.h
vmx.h KVM: VMX: Enable XSAVE/XRSTOR for guest 2010-08-01 10:46:31 +03:00
vsyscall.h
x86_init.h x86: Add i8042 pre-detection hook to x86_platform_ops 2010-07-07 17:05:06 -07:00
xcr.h
xor.h
xor_32.h
xor_64.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