mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Matt Redfearn <matt.redfearn@imgtec.com>
To: Ralf Baechle <ralf@linux-mips.org>,
	Bjorn Andersson <bjorn.andersson@linaro.org>,
	Ohad Ben-Cohen <ohad@wizery.com>,
	Thomas Gleixner <tglx@linutronix.de>
Cc: <linux-mips@linux-mips.org>, <linux-remoteproc@vger.kernel.org>,
	<lisa.parratt@imgtec.com>, <linux-kernel@vger.kernel.org>,
	Matt Redfearn <matt.redfearn@imgtec.com>,
	Hugh Dickins <hughd@google.com>, Huacai Chen <chenhc@lemote.com>,
	"David S. Miller" <davem@davemloft.net>,
	James Hogan <james.hogan@imgtec.com>,
	Paul Burton <paul.burton@imgtec.com>,
	Andrew Morton <akpm@linux-foundation.org>
Subject: [PATCH v2 2/6] MIPS: tlb-r4k: If there are wired entries, don't use TLBINVF
Date: Tue, 20 Sep 2016 09:47:25 +0100	[thread overview]
Message-ID: <1474361249-31064-3-git-send-email-matt.redfearn@imgtec.com> (raw)
In-Reply-To: <1474361249-31064-1-git-send-email-matt.redfearn@imgtec.com>

When adding a wired entry to the TLB via add_wired_entry, the tlb is
flushed with local_flush_tlb_all, which on CPUs with TLBINV results in
the new wired entry being flushed again.

Behavior of the TLBINV instruction applies to all applicable TLB entries
and is unaffected by the setting of the Wired register. Therefore if
the TLB has any wired entries, fall back to iterating over the entries
rather than blasting them all using TLBINVF.

Signed-off-by: Matt Redfearn <matt.redfearn@imgtec.com>
---

Changes in v2: None

 arch/mips/mm/tlb-r4k.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/arch/mips/mm/tlb-r4k.c b/arch/mips/mm/tlb-r4k.c
index e8b335c16295..4953c1a8cdfd 100644
--- a/arch/mips/mm/tlb-r4k.c
+++ b/arch/mips/mm/tlb-r4k.c
@@ -67,8 +67,11 @@ void local_flush_tlb_all(void)
 
 	entry = read_c0_wired();
 
-	/* Blast 'em all away. */
-	if (cpu_has_tlbinv) {
+	/*
+	 * Blast 'em all away.
+	 * If there are any wired entries, fall back to iterating
+	 */
+	if (cpu_has_tlbinv && !entry) {
 		if (current_cpu_data.tlbsizevtlb) {
 			write_c0_index(0);
 			mtc0_tlbw_hazard();
-- 
2.7.4

  parent reply	other threads:[~2016-09-20  8:47 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-09-20  8:47 [PATCH v2 0/6] MIPS: Remote processor driver Matt Redfearn
2016-09-20  8:47 ` [PATCH v2 1/6] irqchip: mips-gic: Add context saving for MIPS_REMOTEPROC Matt Redfearn
2016-09-20  9:40   ` Thomas Gleixner
2016-09-20  8:47 ` Matt Redfearn [this message]
2016-09-22 12:11   ` [PATCH v2 2/6] MIPS: tlb-r4k: If there are wired entries, don't use TLBINVF Ralf Baechle
2016-09-20  8:47 ` [PATCH v2 3/6] MIPS: smp.c: Introduce mechanism for freeing and allocating IPIs Matt Redfearn
2016-09-20  8:47 ` [PATCH v2 4/6] MIPS: CPS: Add VP(E) stealing Matt Redfearn
2016-09-20  8:47 ` [PATCH v2 5/6] remoteproc/MIPS: Add a remoteproc driver for MIPS Matt Redfearn
2016-09-20  9:47   ` Thomas Gleixner
2016-09-20 15:31     ` Matt Redfearn
2016-10-03  8:35   ` Matt Redfearn
2016-10-03 22:16   ` Bjorn Andersson
2016-10-05 16:22     ` Matt Redfearn
2016-09-20  8:47 ` [PATCH v2 6/6] MIPS: Deprecate VPE Loader Matt Redfearn
2016-09-20 10:25   ` Sergei Shtylyov
2016-09-20 13:19   ` Ralf Baechle
2016-09-20 13:53     ` Matt Redfearn

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=1474361249-31064-3-git-send-email-matt.redfearn@imgtec.com \
    --to=matt.redfearn@imgtec.com \
    --cc=akpm@linux-foundation.org \
    --cc=bjorn.andersson@linaro.org \
    --cc=chenhc@lemote.com \
    --cc=davem@davemloft.net \
    --cc=hughd@google.com \
    --cc=james.hogan@imgtec.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mips@linux-mips.org \
    --cc=linux-remoteproc@vger.kernel.org \
    --cc=lisa.parratt@imgtec.com \
    --cc=ohad@wizery.com \
    --cc=paul.burton@imgtec.com \
    --cc=ralf@linux-mips.org \
    --cc=tglx@linutronix.de \
    /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

all inboxes | Powered by JetHome®