linux/arch/x86/include/uapi/asm
Vitaly Kuznetsov 2ffd9e33ce x86/hyper-v: Use hypercall for remote TLB flush
Hyper-V host can suggest us to use hypercall for doing remote TLB flush,
this is supposed to work faster than IPIs.

Implementation details: to do HvFlushVirtualAddress{Space,List} hypercalls
we need to put the input somewhere in memory and we don't really want to
have memory allocation on each call so we pre-allocate per cpu memory areas
on boot.

pv_ops patching is happening very early so we need to separate
hyperv_setup_mmu_ops() and hyper_alloc_mmu().

It is possible and easy to implement local TLB flushing too and there is
even a hint for that. However, I don't see a room for optimization on the
host side as both hypercall and native tlb flush will result in vmexit. The
hint is also not set on modern Hyper-V versions.

Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Reviewed-by: Stephen Hemminger <sthemmin@microsoft.com>
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Haiyang Zhang <haiyangz@microsoft.com>
Cc: Jork Loeser <Jork.Loeser@microsoft.com>
Cc: K. Y. Srinivasan <kys@microsoft.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Simon Xiao <sixiao@microsoft.com>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: devel@linuxdriverproject.org
Link: http://lkml.kernel.org/r/20170802160921.21791-8-vkuznets@redhat.com
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2017-08-10 20:16:44 +02:00
..
a.out.h
auxvec.h
bitsperlong.h x86/headers/uapi: Fix __BITS_PER_LONG value for x32 builds 2015-10-02 09:43:21 +02:00
boot.h
bootparam.h Merge branch 'x86-boot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2017-05-01 20:51:12 -07:00
byteorder.h
debugreg.h
e820.h libnvdimm, e820: make CONFIG_X86_PMEM_LEGACY a tristate option 2015-08-19 00:34:34 -04:00
errno.h
fcntl.h
hw_breakpoint.h
hwcap2.h x86/elf: Add HWCAP2 to expose ring 3 MONITOR/MWAIT 2017-02-04 08:51:09 +01:00
hyperv.h x86/hyper-v: Use hypercall for remote TLB flush 2017-08-10 20:16:44 +02:00
ioctl.h
ioctls.h
ipcbuf.h
ist.h
Kbuild kbuild: replace genhdr-y with generated-y 2017-06-22 08:55:21 +09:00
kvm_para.h KVM: async_pf: Let guest support delivery of async_pf from guest mode 2017-07-14 14:26:16 +02:00
kvm_perf.h perf kvm: Use defines of kvm events 2014-07-16 17:57:32 -03:00
kvm.h kvm: make KVM_COALESCED_MMIO_PAGE_OFFSET public 2017-04-07 16:49:01 +02:00
ldt.h x86/tls: Don't validate lm in set_thread_area() after all 2014-12-18 12:12:26 +01:00
mce.h x86/mce: Include the PPIN in MCE records when available 2016-11-23 16:51:52 +01:00
mman.h x86/mm/pkeys: Create an x86 arch_calc_vm_prot_bits() for VMA flags 2016-02-18 19:46:32 +01:00
msgbuf.h
msr.h x86/uapi: Do not export <asm/msr-index.h> as part of the user API headers 2015-06-07 15:36:04 +02:00
mtrr.h x86/mm/mtrr: Use symbolic define as a retval for disabled MTRRs 2015-05-27 14:40:57 +02:00
param.h
perf_regs.h
poll.h
posix_types_32.h
posix_types_64.h
posix_types_x32.h
posix_types.h
prctl.h x86/arch_prctl: Add ARCH_[GET|SET]_CPUID 2017-03-20 16:10:34 +01:00
processor-flags.h x86/boot/64: Add support of additional page table level during early boot 2017-06-13 08:56:55 +02:00
ptrace-abi.h x86/asm/entry/64: Fix comments 2015-03-04 22:50:49 +01:00
ptrace.h x86/asm/entry/64: Fix comments 2015-03-04 22:50:49 +01:00
resource.h
sembuf.h x86, uapi, x32: Use __kernel_ulong_t in x86 struct semid64_ds 2014-01-20 14:45:13 -08:00
setup.h
shmbuf.h
sigcontext32.h x86/headers: Remove direct sigcontext32.h uses 2015-09-08 10:03:59 +02:00
sigcontext.h x86/signal/64: Re-add support for SS in the 64-bit signal context 2016-02-17 08:32:11 +01:00
siginfo.h
signal.h
socket.h
sockios.h
stat.h x86, x32: Use __kernel_long_t/__kernel_ulong_t in x86-64 stat.h 2013-12-20 16:04:35 -08:00
statfs.h
svm.h KVM: SVM: Add more SVM_EXIT_REASONS 2016-05-24 12:11:08 +02:00
swab.h
termbits.h
termios.h
types.h
ucontext.h x86/signal/64: Re-add support for SS in the 64-bit signal context 2016-02-17 08:32:11 +01:00
unistd.h
vm86.h
vmx.h KVM: VMX: add missing exit reasons 2017-04-07 16:49:00 +02:00
vsyscall.h x86, vdso: Move the vvar and hpet mappings next to the 64-bit vDSO 2014-05-05 13:19:01 -07:00