> -----Original Message----- > From: Peter Zijlstra [mailto:peterz@xxxxxxxxxxxxx] > Sent: Thursday, August 10, 2017 11:57 AM > To: Simon Xiao <sixiao@xxxxxxxxxxxxx>; Haiyang Zhang > <haiyangz@xxxxxxxxxxxxx>; Jork Loeser <Jork.Loeser@xxxxxxxxxxxxx>; > Stephen Hemminger <sthemmin@xxxxxxxxxxxxx>; torvalds@linux- > foundation.org; luto@xxxxxxxxxx; hpa@xxxxxxxxx; vkuznets@xxxxxxxxxx; > linux-kernel@xxxxxxxxxxxxxxx; rostedt@xxxxxxxxxxx; > andy.shevchenko@xxxxxxxxx; tglx@xxxxxxxxxxxxx; KY Srinivasan > <kys@xxxxxxxxxxxxx>; mingo@xxxxxxxxxx > Cc: linux-tip-commits@xxxxxxxxxxxxxxx > Subject: Re: [tip:x86/platform] x86/hyper-v: Use hypercall for remote TLB > flush > > On Thu, Aug 10, 2017 at 11:21:49AM -0700, tip-bot for Vitaly Kuznetsov > wrote: > > Commit-ID: 2ffd9e33ce4af4e8cfa3e17bf493defe8474e2eb > > Gitweb: > https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fgit.kern > el.org%2Ftip%2F2ffd9e33ce4af4e8cfa3e17bf493defe8474e2eb&data=02%7C > 01%7Ckys%40microsoft.com%7C2537372f38d3414e999e08d4e0218ec8%7C72 > f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636379882129411812&sdata > =odsJ2NnQdD8LCEtDPfVf5rL%2F2sQX4fKUhlqVSjKhjCI%3D&reserved=0 > > Author: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx> > > AuthorDate: Wed, 2 Aug 2017 18:09:19 +0200 > > Committer: Ingo Molnar <mingo@xxxxxxxxxx> > > CommitDate: Thu, 10 Aug 2017 20:16:44 +0200 > > > > 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. > > Hold on.. if we don't IPI for TLB invalidation. What serializes our > software page table walkers like fast_gup() ? Hypervisor may implement this functionality via an IPI. K. Y -- To unsubscribe from this list: send the line "unsubscribe linux-tip-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html
![]() |