[lkml]   [2017]   [Aug]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [tip:x86/platform] x86/hyper-v: Use hypercall for remote TLB flush
Peter Zijlstra <> writes:

> On Fri, Aug 11, 2017 at 09:16:29AM -0700, Linus Torvalds wrote:
>> On Fri, Aug 11, 2017 at 2:03 AM, Peter Zijlstra <> wrote:
>> >
>> > I'm sure we talked about using HAVE_RCU_TABLE_FREE for x86 (and yes that
>> > would make it work again), but this was some years ago and I cannot
>> > readily find those emails.
>> I think the only time we really talked about HAVE_RCU_TABLE_FREE for
>> x86 (at least that I was cc'd on) was not because of RCU freeing, but
>> because we just wanted to use the generic page table lookup code on
>> x86 *despite* not using RCU freeing.
>> And we just ended up renaming HAVE_GENERIC_RCU_GUP as HAVE_GENERIC_GUP.
>> There was only passing mention of maybe making x86 use RCU, but the
>> discussion was really about why the IF flag meant that x86 didn't need
>> to, iirc.
>> I don't recall us ever discussing *really* making x86 use RCU.
> Google finds me this:
> Which includes:
> which does as was suggested here, selects HAVE_RCU_TABLE_FREE for
> But yes, this is very much virt specific nonsense, native would never
> need this.

In case we decide to go HAVE_RCU_TABLE_FREE for all PARAVIRT-enabled
kernels (as it seems to be the easiest/fastest way to fix Xen PV) - what
do you think about the required testing? Any suggestion for a
specifically crafted micro benchmark in addition to standard

Additionally, I see another option for us: enable 'rcu table free' on
boot (e.g. by taking tlb_remove_table to pv_ops and doing boot-time
patching for it) so bare metal and other hypervisors are not affected
by the change.


 \ /
  Last update: 2017-08-14 15:21    [W:0.065 / U:3.924 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site