Re: [tip:x86/platform] x86/hyper-v: Use hypercall for remote TLB flush
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
- Subject: Re: [tip:x86/platform] x86/hyper-v: Use hypercall for remote TLB flush
- From: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx>
- Date: Mon, 14 Aug 2017 15:20:49 +0200
- Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>, Jork Loeser <Jork.Loeser@xxxxxxxxxxxxx>, KY Srinivasan <kys@xxxxxxxxxxxxx>, Simon Xiao <sixiao@xxxxxxxxxxxxx>, Haiyang Zhang <haiyangz@xxxxxxxxxxxxx>, Stephen Hemminger <sthemmin@xxxxxxxxxxxxx>, "luto\@kernel.org" <luto@xxxxxxxxxx>, "hpa\@zytor.com" <hpa@xxxxxxxxx>, "linux-kernel\@vger.kernel.org" <linux-kernel@xxxxxxxxxxxxxxx>, "rostedt\@goodmis.org" <rostedt@xxxxxxxxxxx>, "andy.shevchenko\@gmail.com" <andy.shevchenko@xxxxxxxxx>, "tglx\@linutronix.de" <tglx@xxxxxxxxxxxxx>, "mingo\@kernel.org" <mingo@xxxxxxxxxx>, "linux-tip-commits\@vger.kernel.org" <linux-tip-commits@xxxxxxxxxxxxxxx>, "Kirill A. Shutemov" <kirill.shutemov@xxxxxxxxxxxxxxx>
- Dmarc-filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 88B1710F5C2
- In-reply-to: <20170811162605.tr4tig4av3q4fll6@hirez.programming.kicks-ass.net> (Peter Zijlstra's message of "Fri, 11 Aug 2017 18:26:05 +0200")
- References: <20170802160921.21791-8-vkuznets@redhat.com> <tip-2ffd9e33ce4af4e8cfa3e17bf493defe8474e2eb@git.kernel.org> <20170810185646.GI6524@worktop.programming.kicks-ass.net> <DM5PR21MB0476915D204F850F7F7C1475A0880@DM5PR21MB0476.namprd21.prod.outlook.com> <CY4PR21MB06313B9D59F8846CDDE443F0F1880@CY4PR21MB0631.namprd21.prod.outlook.com> <20170810192742.GJ6524@worktop.programming.kicks-ass.net> <CY4PR21MB0631989FA0C9135AAD2DD1F8F1890@CY4PR21MB0631.namprd21.prod.outlook.com> <20170811090336.lfznz6qzrbhiqwvi@hirez.programming.kicks-ass.net> <CA+55aFyXo3CtOCEKn54uA0=21O-KV0zLGvueVujCDSU--kJ7_A@mail.gmail.com> <20170811162605.tr4tig4av3q4fll6@hirez.programming.kicks-ass.net>
- User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux)
Peter Zijlstra <peterz@xxxxxxxxxxxxx> 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 <peterz@xxxxxxxxxxxxx> 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:
>
> https://lwn.net/Articles/500188/
>
> Which includes:
>
> http://www.mail-archive.com/kvm@xxxxxxxxxxxxxxx/msg72918.html
>
> which does as was suggested here, selects HAVE_RCU_TABLE_FREE for
> PARAVIRT_TLB_FLUSH.
>
> 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
ebizzy/kernbench/...?
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.
--
Vitaly
--
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
[Index of Archives]
[Linux Stable Commits]
[Linux Stable Kernel]
[Linux Kernel]
[Linux USB Devel]
[Linux Video &Media]
[Linux Audio Users]
[Yosemite News]
[Linux SCSI]