summaryrefslogtreecommitdiff
path: root/arch/x86/net
diff options
context:
space:
mode:
authorVitaly Kuznetsov <vkuznets@redhat.com>2018-06-21 16:32:38 +0300
committerThomas Gleixner <tglx@linutronix.de>2018-06-24 16:01:14 +0300
commit0e4c88f37693d4857fc0be66e548e2eb8b3d8a15 (patch)
treee3c2465c5b13ba9a2714bbe0efc497b0b703120f /arch/x86/net
parente0bc833d108e8caba1918218a0b2be7a71080d17 (diff)
downloadlinux-0e4c88f37693d4857fc0be66e548e2eb8b3d8a15.tar.xz
x86/hyper-v: Use cheaper HVCALL_FLUSH_VIRTUAL_ADDRESS_{LIST,SPACE} hypercalls when possible
While working on Hyper-V style PV TLB flush support in KVM I noticed that real Windows guests use TLB flush hypercall in a somewhat smarter way: When the flush needs to be performed on a subset of first 64 vCPUs or on all present vCPUs Windows avoids more expensive hypercalls which support sparse CPU sets and uses their 'cheap' counterparts. This means that HV_X64_EX_PROCESSOR_MASKS_RECOMMENDED name is actually a misnomer: EX hypercalls (which support sparse CPU sets) are "available", not "recommended". This makes sense as they are actually harder to parse. Nothing stops us from being equally 'smart' in Linux too. Switch to doing cheaper hypercalls whenever possible. Signed-off-by: Vitaly Kuznetsov <vkuznets@redhat.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Reviewed-by: Michael Kelley <mikelley@microsoft.com> Cc: "K. Y. Srinivasan" <kys@microsoft.com> Cc: Haiyang Zhang <haiyangz@microsoft.com> Cc: Stephen Hemminger <sthemmin@microsoft.com> Cc: "Michael Kelley (EOSG)" <Michael.H.Kelley@microsoft.com> Cc: Tianyu Lan <Tianyu.Lan@microsoft.com> Cc: devel@linuxdriverproject.org Cc: "H. Peter Anvin" <hpa@zytor.com> Link: https://lkml.kernel.org/r/20180621133238.30757-1-vkuznets@redhat.com
Diffstat (limited to 'arch/x86/net')
0 files changed, 0 insertions, 0 deletions