From: Peter Zijlstra <peterz@infradead.org>
To: Rik van Riel <riel@surriel.com>
Cc: linux-kernel@vger.kernel.org, kernel-team@fb.com,
will.deacon@arm.com, songliubraving@fb.com, mingo@kernel.org,
luto@kernel.org, hpa@zytor.com, npiggin@gmail.com
Subject: Re: [PATCH 7/7] x86/mm/tlb: Make lazy TLB mode lazier
Date: Mon, 1 Oct 2018 18:07:37 +0200 [thread overview]
Message-ID: <20181001160737.GL3439@hirez.programming.kicks-ass.net> (raw)
In-Reply-To: <20180926035844.1420-8-riel@surriel.com>
On Tue, Sep 25, 2018 at 11:58:44PM -0400, Rik van Riel wrote:
> @@ -594,8 +628,23 @@ void native_flush_tlb_others(const struct cpumask *cpumask,
> (void *)info, 1);
> return;
> }
> - smp_call_function_many(cpumask, flush_tlb_func_remote,
> +
> + /*
> + * If no page tables were freed, we can skip sending IPIs to
> + * CPUs in lazy TLB mode. They will flush the CPU themselves
> + * at the next context switch.
> + *
> + * However, if page tables are getting freed, we need to send the
> + * IPI everywhere, to prevent CPUs in lazy TLB mode from tripping
> + * up on the new contents of what used to be page tables, while
> + * doing a speculative memory access.
> + */
> + if (info->freed_tables)
> + smp_call_function_many(cpumask, flush_tlb_func_remote,
> (void *)info, 1);
> + else
> + on_each_cpu_cond_mask(tlb_is_not_lazy, flush_tlb_func_remote,
> + (void *)info, 1, GFP_ATOMIC, cpumask);
> }
And this is safe vs paravirt, because for native we now do _less_
invalidations.
That might warrant a mention in the Changelog perhaps.
next prev parent reply other threads:[~2018-10-01 16:07 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-09-26 3:58 [PATCH v2 0/7] x86/mm/tlb: make lazy TLB mode even lazier Rik van Riel
2018-09-26 3:58 ` [PATCH 1/7] x86/mm/tlb: Always use lazy TLB mode Rik van Riel
2018-10-01 15:58 ` Peter Zijlstra
2018-10-01 16:07 ` Rik van Riel
2018-09-26 3:58 ` [PATCH 2/7] x86/mm/tlb: Restructure switch_mm_irqs_off() Rik van Riel
2018-10-02 7:32 ` Peter Zijlstra
2018-09-26 3:58 ` [PATCH 3/7] smp: use __cpumask_set_cpu in on_each_cpu_cond Rik van Riel
2018-10-09 14:59 ` [tip:x86/mm] " tip-bot for Rik van Riel
2018-09-26 3:58 ` [PATCH 4/7] smp,cpumask: introduce on_each_cpu_cond_mask Rik van Riel
2018-10-09 14:59 ` [tip:x86/mm] " tip-bot for Rik van Riel
2018-09-26 3:58 ` [PATCH 5/7] Add freed_tables argument to flush_tlb_mm_range Rik van Riel
2018-10-09 15:00 ` [tip:x86/mm] x86/mm/tlb: " tip-bot for Rik van Riel
2018-09-26 3:58 ` [PATCH 6/7] Add freed_tables element to flush_tlb_info Rik van Riel
2018-10-09 15:00 ` [tip:x86/mm] x86/mm/tlb: " tip-bot for Rik van Riel
2018-09-26 3:58 ` [PATCH 7/7] x86/mm/tlb: Make lazy TLB mode lazier Rik van Riel
2018-10-01 16:07 ` Peter Zijlstra [this message]
2018-10-09 15:01 ` [tip:x86/mm] " tip-bot for Rik van Riel
2018-10-01 16:09 ` [PATCH v2 0/7] x86/mm/tlb: make lazy TLB mode even lazier Peter Zijlstra
2018-10-02 7:44 ` Peter Zijlstra
2018-10-02 13:41 ` Rik van Riel
-- strict thread matches above, loose matches on Subject: below --
2018-09-24 18:37 [PATCH " Rik van Riel
2018-09-24 18:37 ` [PATCH 7/7] x86/mm/tlb: Make lazy TLB mode lazier Rik van Riel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20181001160737.GL3439@hirez.programming.kicks-ass.net \
--to=peterz@infradead.org \
--cc=hpa@zytor.com \
--cc=kernel-team@fb.com \
--cc=linux-kernel@vger.kernel.org \
--cc=luto@kernel.org \
--cc=mingo@kernel.org \
--cc=npiggin@gmail.com \
--cc=riel@surriel.com \
--cc=songliubraving@fb.com \
--cc=will.deacon@arm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).