From: James Clarke <jrtc27@jrtc27.com>
To: sparclinux@vger.kernel.org
Subject: Re: [PATCH] sparc64: Handle extremely large kernel TSB range flushes sanely.
Date: Wed, 26 Oct 2016 20:05:36 +0000 [thread overview]
Message-ID: <20161026200536.GA5465@Jamess-MacBook.local> (raw)
In-Reply-To: <20161025.224442.1417439049113609110.davem@davemloft.net>
On Wed, Oct 26, 2016 at 03:04:59PM -0400, David Miller wrote:
> From: James Clarke <jrtc27@jrtc27.com>
> Date: Wed, 26 Oct 2016 18:21:06 +0100
>
> >> On 26 Oct 2016, at 18:09, David Miller <davem@davemloft.net> wrote:
> >>
> >> From: James Clarke <jrtc27@jrtc27.com>
> >> Date: Wed, 26 Oct 2016 17:58:16 +0100
> >>
> >>>> On 26 Oct 2016, at 16:54, David Miller <davem@davemloft.net> wrote:
> >>>>
> >>>> From: James Clarke <jrtc27@jrtc27.com>
> >>>> Date: Wed, 26 Oct 2016 09:28:05 +0100
> >>>>
> >>>>> Any progress on TLB flushing?
> >>>>
> >>>> I'll keep plugging away at it today.
> >>>
> >>> Great; let me know if you need a guinea pig, as it’s pretty easy for me to
> >>> reproduce.
> >>
> >> Will do, what kind of cpus do you have?
> >
> > * UltraSparc T5 (Niagara5)
> > * UltraSparc T1 (Niagara)
> > * UltraSPARC IIIi
> >
> > The IIIi seems to be down at the moment though.
>
> James, here is what I have so far. I only gave it a brief testing on
> sun4v, so no guarantees for the sun4u cases. This is against the
> current sparc GIT tree.
>
> The cut-off is 32 pages, we can discuss whether that's a good value
> to use or not. FWIW, x86_64 has similar code for this situation and
> uses a cut-off of 33. Perhaps 64 is a better value, who knows.
>
> It might even make sense to use a different cut-off for the hypervisor
> case since the hypervisor trap we have to use to do the TLB operation
> adds even more expense to each iteration of the range loop.
>
> The policy implemented for huge range flushes below is:
>
> 1) Spitfire - Flush all non-locked entries, by hand using diagnostic
> TLB accesses.
>
> 2) Cheetah - Flush all non-locked entries using "flush all" operation.
>
> 3) sun4v/hypervisor - Flush entire kernel context, which does not
> remove locked or "permanent" entries.
>
> Anyways, let me know how it goes.
Thanks for this, it's now compiling. I'll let you know if it works
within the next 24 hours.
Before I forget, what do you think about the following patch? I know
Debian used to use the 64-bit kernel for a 32-bit sparc userland, and so
"Architecture: sparc" was correct, but obviously sparc64 also exists. It
seems more sane to make sparc64 default to "Architecture: sparc64", with
sparc users needing to override this with KBUILD_DEBARCH if they want
to, rather than providing a setup that's broken out of the box for
sparc64 users.
From: James Clarke <jrtc27@jrtc27.com>
Date: Wed, 26 Oct 2016 20:17:10 +0100
Subject: [PATCH] builddeb: Add support for sparc64
Signed-off-by: James Clarke <jrtc27@jrtc27.com>
---
scripts/package/builddeb | 2 ++
1 file changed, 2 insertions(+)
diff --git a/scripts/package/builddeb b/scripts/package/builddeb
index 8ea9fd2..63b3112 100755
--- a/scripts/package/builddeb
+++ b/scripts/package/builddeb
@@ -41,6 +41,8 @@ set_debarch() {
debarch="$UTS_MACHINE" ;;
x86_64)
debarch=amd64 ;;
+ sparc64)
+ debarch=sparc64 ;;
sparc*)
debarch=sparc ;;
s390*)
--
2.9.3
next prev parent reply other threads:[~2016-10-26 20:05 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-10-26 2:44 [PATCH] sparc64: Handle extremely large kernel TSB range flushes sanely David Miller
2016-10-26 8:28 ` James Clarke
2016-10-26 15:54 ` David Miller
2016-10-26 16:58 ` James Clarke
2016-10-26 17:09 ` David Miller
2016-10-26 17:21 ` James Clarke
2016-10-26 19:04 ` David Miller
2016-10-26 20:05 ` James Clarke [this message]
2016-10-26 21:02 ` David Miller
2016-10-27 1:27 ` James Clarke
2016-10-27 8:25 ` James Clarke
2016-10-27 15:51 ` David Miller
2016-10-27 16:02 ` James Clarke
2016-10-27 16:14 ` David Miller
2016-10-27 16:15 ` [PATCH] sparc64: Handle extremely large kernel TLB range flushes more gracefully David Miller
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=20161026200536.GA5465@Jamess-MacBook.local \
--to=jrtc27@jrtc27.com \
--cc=sparclinux@vger.kernel.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.