RE: [PATCH] x86/hyper-v: use cheaper HVCALL_FLUSH_VIRTUAL_ADDRESS_{LIST,SPACE} hypercalls when possible

2018-06-20 Thread KY Srinivasan
; Thomas Gleixner ; Ingo > Molnar ; H. Peter Anvin ; Tianyu Lan > > Subject: Re: [PATCH] x86/hyper-v: use cheaper > HVCALL_FLUSH_VIRTUAL_ADDRESS_{LIST,SPACE} hypercalls when possible > > "Michael Kelley (EOSG)" writes: > > >> -Original Message- > >

Re: [PATCH] x86/hyper-v: use cheaper HVCALL_FLUSH_VIRTUAL_ADDRESS_{LIST, SPACE} hypercalls when possible

2018-06-20 Thread Vitaly Kuznetsov
Haiyang Zhang >> ; Stephen Hemminger >> ; Thomas Gleixner ; Ingo >> Molnar ; H. Peter Anvin ; Tianyu Lan >> >> Subject: RE: [PATCH] x86/hyper-v: use cheaper >> HVCALL_FLUSH_VIRTUAL_ADDRESS_{LIST,SPACE} hypercalls when possible >> >> ... >>> >&

Re: [PATCH] x86/hyper-v: use cheaper HVCALL_FLUSH_VIRTUAL_ADDRESS_{LIST, SPACE} hypercalls when possible

2018-06-20 Thread Vitaly Kuznetsov
ect.org; linux-ker...@vger.kernel.org; KY Srinivasan >> ; Haiyang Zhang ; Stephen >> Hemminger >> ; Thomas Gleixner ; Ingo Molnar >> ; H. Peter Anvin ; Tianyu Lan >> >> Subject: [PATCH] x86/hyper-v: use cheaper >> HVCALL_FLUSH_VIRTUAL_ADDRESS_{LIST,SPACE} >>

RE: [PATCH] x86/hyper-v: use cheaper HVCALL_FLUSH_VIRTUAL_ADDRESS_{LIST,SPACE} hypercalls when possible

2018-06-19 Thread KY Srinivasan
Gleixner ; Ingo > Molnar ; H. Peter Anvin ; Tianyu Lan > > Subject: RE: [PATCH] x86/hyper-v: use cheaper > HVCALL_FLUSH_VIRTUAL_ADDRESS_{LIST,SPACE} hypercalls when possible > > > -Original Message- > > From: linux-kernel-ow...@vger.kernel.org ow...@vger.ker

RE: [PATCH] x86/hyper-v: use cheaper HVCALL_FLUSH_VIRTUAL_ADDRESS_{LIST,SPACE} hypercalls when possible

2018-06-19 Thread Michael Kelley (EOSG)
g ; Stephen > Hemminger > ; Thomas Gleixner ; Ingo Molnar > ; H. Peter Anvin ; Tianyu Lan > > Subject: [PATCH] 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

Re: [PATCH] x86/hyper-v: use cheaper HVCALL_FLUSH_VIRTUAL_ADDRESS_{LIST, SPACE} hypercalls when possible

2018-06-19 Thread Vitaly Kuznetsov
Thomas Gleixner writes: > On Tue, 19 Jun 2018, Vitaly Kuznetsov wrote: >> Thomas Gleixner writes: >> >> > On Fri, 15 Jun 2018, Vitaly Kuznetsov wrote: >> >> * Fills in gva_list starting from offset. Returns the number of items >> >> added. >> >> @@ -93,10 +95,19 @@ static void hyperv_flush_t

Re: [PATCH] x86/hyper-v: use cheaper HVCALL_FLUSH_VIRTUAL_ADDRESS_{LIST, SPACE} hypercalls when possible

2018-06-19 Thread Thomas Gleixner
On Tue, 19 Jun 2018, Vitaly Kuznetsov wrote: > Thomas Gleixner writes: > > > On Fri, 15 Jun 2018, Vitaly Kuznetsov wrote: > >> * Fills in gva_list starting from offset. Returns the number of items > >> added. > >> @@ -93,10 +95,19 @@ static void hyperv_flush_tlb_others(const struct > >> cpuma

Re: [PATCH] x86/hyper-v: use cheaper HVCALL_FLUSH_VIRTUAL_ADDRESS_{LIST, SPACE} hypercalls when possible

2018-06-19 Thread Vitaly Kuznetsov
Thomas Gleixner writes: > On Fri, 15 Jun 2018, Vitaly Kuznetsov wrote: >> * Fills in gva_list starting from offset. Returns the number of items >> added. >> @@ -93,10 +95,19 @@ static void hyperv_flush_tlb_others(const struct cpumask >> *cpus, >> if (cpumask_equal(cpus, cpu_present_mask)

Re: [PATCH] x86/hyper-v: use cheaper HVCALL_FLUSH_VIRTUAL_ADDRESS_{LIST, SPACE} hypercalls when possible

2018-06-19 Thread Thomas Gleixner
On Fri, 15 Jun 2018, Vitaly Kuznetsov wrote: > * Fills in gva_list starting from offset. Returns the number of items added. > @@ -93,10 +95,19 @@ static void hyperv_flush_tlb_others(const struct cpumask > *cpus, > if (cpumask_equal(cpus, cpu_present_mask)) { > flush->flags |=

[PATCH] x86/hyper-v: use cheaper HVCALL_FLUSH_VIRTUAL_ADDRESS_{LIST, SPACE} hypercalls when possible

2018-06-15 Thread Vitaly Kuznetsov
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 C