From: Ralf Baechle <ralf@linux-mips.org>
To: Paul Burton <paul.burton@imgtec.com>
Cc: linux-mips@linux-mips.org,
Markos Chandras <markos.chandras@imgtec.com>,
stable@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 5/6] MIPS: CONFIG_MIPS_MT_SMP should depend upon CPU_MIPSR2
Date: Tue, 3 Nov 2015 14:23:36 +0100 [thread overview]
Message-ID: <20151103132335.GA15726@linux-mips.org> (raw)
In-Reply-To: <20150912151131.GA3831@NP-P-BURTON>
On Sat, Sep 12, 2015 at 08:11:31AM -0700, Paul Burton wrote:
> Date: Sat, 12 Sep 2015 08:11:31 -0700
> From: Paul Burton <paul.burton@imgtec.com>
> To: Ralf Baechle <ralf@linux-mips.org>
> CC: linux-mips@linux-mips.org, Markos Chandras
> <markos.chandras@imgtec.com>, stable@vger.kernel.org,
> linux-kernel@vger.kernel.org
> Subject: Re: [PATCH 5/6] MIPS: CONFIG_MIPS_MT_SMP should depend upon
> CPU_MIPSR2
> Content-Type: text/plain; charset="utf-8"
>
> On Sat, Sep 12, 2015 at 12:16:39PM +0200, Ralf Baechle wrote:
> > > config MIPS_MT_SMP
> > > bool "MIPS MT SMP support (1 TC on each available VPE)"
> > > - depends on SYS_SUPPORTS_MULTITHREADING
> > > + depends on SYS_SUPPORTS_MULTITHREADING && CPU_MIPSR2
> >
> > Right now this line is
> >
> > depends on SYS_SUPPORTS_MULTITHREADING && !CPU_MIPSR6
> >
> > which I believe is correct. The MT SMP support aka VSMP had been
> > carefully crafted to work on older ASEs that is all use of MIPS MT
> > instructions or features was carefully protected by cpu_has_mipsmt
> > or similar.
>
> I disagree. The "background" section in the introduction to the MT ASE
> spec (MD00376, revision 1.12) reads:
>
> > Multi-threading, or the concurrent presence of multiple active threads
> > or contexts of execution on the same CPU, is an increasingly
> > widely-used technique for tolerating memory and execution latency and
> > for getting higher utilization out of processor functional units. The
> > MIPS® Multi-threading (MT) Module is an extension to Release 2 (and
> > newer) of the MIPS32® Architecture which provides a framework for
> > multi-threading the MIPS processor architecture.
>
> MT is quite clearly an extension to r2. The MT bit in Config3 has this
> note in the MIPS32 PRA (MD00088, revision 6.01):
>
> > For Release 6 and MIPS after, this bit must be 0.
>
> Thus MT is an option from r2 <= ISA < r6. The current !CPU_MIPSR6
> constraint in Kconfig only enforces half of that. Depending upon
> CPU_MIPSR2 would enforce the whole.
Correct. Still, VSMP's use of MT instruction is very limited to a few
particular places in the kernel which makes a simple exervise to support
a kernel that is capable of supporting VSMP yet will support MIPS IV,
MIPS 32R1 CPUs or MIPS 32R2+ without MT.
Ralf
WARNING: multiple messages have this Message-ID (diff)
From: Ralf Baechle <ralf@linux-mips.org>
To: Paul Burton <paul.burton@imgtec.com>
Cc: linux-mips@linux-mips.org,
Markos Chandras <markos.chandras@imgtec.com>,
stable@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 5/6] MIPS: CONFIG_MIPS_MT_SMP should depend upon CPU_MIPSR2
Date: Tue, 3 Nov 2015 14:23:36 +0100 [thread overview]
Message-ID: <20151103132335.GA15726@linux-mips.org> (raw)
In-Reply-To: <20150912151131.GA3831@NP-P-BURTON>
On Sat, Sep 12, 2015 at 08:11:31AM -0700, Paul Burton wrote:
> Date: Sat, 12 Sep 2015 08:11:31 -0700
> From: Paul Burton <paul.burton@imgtec.com>
> To: Ralf Baechle <ralf@linux-mips.org>
> CC: linux-mips@linux-mips.org, Markos Chandras
> <markos.chandras@imgtec.com>, stable@vger.kernel.org,
> linux-kernel@vger.kernel.org
> Subject: Re: [PATCH 5/6] MIPS: CONFIG_MIPS_MT_SMP should depend upon
> CPU_MIPSR2
> Content-Type: text/plain; charset="utf-8"
>
> On Sat, Sep 12, 2015 at 12:16:39PM +0200, Ralf Baechle wrote:
> > > config MIPS_MT_SMP
> > > bool "MIPS MT SMP support (1 TC on each available VPE)"
> > > - depends on SYS_SUPPORTS_MULTITHREADING
> > > + depends on SYS_SUPPORTS_MULTITHREADING && CPU_MIPSR2
> >
> > Right now this line is
> >
> > depends on SYS_SUPPORTS_MULTITHREADING && !CPU_MIPSR6
> >
> > which I believe is correct. The MT SMP support aka VSMP had been
> > carefully crafted to work on older ASEs that is all use of MIPS MT
> > instructions or features was carefully protected by cpu_has_mipsmt
> > or similar.
>
> I disagree. The "background" section in the introduction to the MT ASE
> spec (MD00376, revision 1.12) reads:
>
> > Multi-threading, or the concurrent presence of multiple active threads
> > or contexts of execution on the same CPU, is an increasingly
> > widely-used technique for tolerating memory and execution latency and
> > for getting higher utilization out of processor functional units. The
> > MIPS� Multi-threading (MT) Module is an extension to Release 2 (and
> > newer) of the MIPS32� Architecture which provides a framework for
> > multi-threading the MIPS processor architecture.
>
> MT is quite clearly an extension to r2. The MT bit in Config3 has this
> note in the MIPS32 PRA (MD00088, revision 6.01):
>
> > For Release 6 and MIPS after, this bit must be 0.
>
> Thus MT is an option from r2 <= ISA < r6. The current !CPU_MIPSR6
> constraint in Kconfig only enforces half of that. Depending upon
> CPU_MIPSR2 would enforce the whole.
Correct. Still, VSMP's use of MT instruction is very limited to a few
particular places in the kernel which makes a simple exervise to support
a kernel that is capable of supporting VSMP yet will support MIPS IV,
MIPS 32R1 CPUs or MIPS 32R2+ without MT.
Ralf
next prev parent reply other threads:[~2015-11-03 13:23 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-08-05 22:42 [PATCH 0/6] MIPS CPS SMP fixes, debug & cleanups Paul Burton
2015-08-05 22:42 ` Paul Burton
2015-08-05 22:42 ` [PATCH 1/6] MIPS: CPS: use 32b accesses to GCRs Paul Burton
2015-08-05 22:42 ` Paul Burton
2015-08-05 22:42 ` [PATCH 2/6] MIPS: CPS: stop dangling delay slot from has_mt Paul Burton
2015-08-05 22:42 ` Paul Burton
2015-08-05 22:42 ` [PATCH 3/6] MIPS: CPS: don't include MT code in non-MT kernels Paul Burton
2015-08-05 22:42 ` Paul Burton
2015-08-05 22:42 ` [PATCH 4/6] MIPS: CPS: #ifdef on CONFIG_MIPS_MT_SMP rather than CONFIG_MIPS_MT Paul Burton
2015-08-05 22:42 ` Paul Burton
2015-08-05 22:42 ` [PATCH 5/6] MIPS: CONFIG_MIPS_MT_SMP should depend upon CPU_MIPSR2 Paul Burton
2015-08-05 22:42 ` Paul Burton
2015-09-12 10:16 ` Ralf Baechle
2015-09-12 15:11 ` Paul Burton
2015-09-12 15:11 ` Paul Burton
2015-11-03 13:23 ` Ralf Baechle [this message]
2015-11-03 13:23 ` Ralf Baechle
2015-08-05 22:42 ` [PATCH 6/6] MIPS: CPS: drop .set mips64r2 directives Paul Burton
2015-08-05 22:42 ` Paul Burton
2015-09-10 18:03 ` Paul Burton
2015-09-10 18:03 ` Paul Burton
2015-09-12 6:13 ` John Crispin
2015-09-12 15:14 ` Paul Burton
2015-09-12 15:14 ` Paul Burton
2015-08-06 11:04 ` [PATCH 0/6] MIPS CPS SMP fixes, debug & cleanups Govindraj Raja
2015-08-06 11:04 ` Govindraj Raja
2015-08-06 13:54 ` Govindraj Raja
2015-08-06 13:54 ` Govindraj Raja
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=20151103132335.GA15726@linux-mips.org \
--to=ralf@linux-mips.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mips@linux-mips.org \
--cc=markos.chandras@imgtec.com \
--cc=paul.burton@imgtec.com \
--cc=stable@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.