Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1223374 > unrolled thread
| Started by | Ralf Baechle <ralf@linux-mips.org> |
|---|---|
| First post | 2015-09-12 12:20 +0200 |
| Last post | 2015-09-12 17:20 +0200 |
| Articles | 2 — 2 participants |
Back to article view | Back to linux.kernel
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
Re: [PATCH 5/6] MIPS: CONFIG_MIPS_MT_SMP should depend upon CPU_MIPSR2 Ralf Baechle <ralf@linux-mips.org> - 2015-09-12 12:20 +0200
Re: [PATCH 5/6] MIPS: CONFIG_MIPS_MT_SMP should depend upon CPU_MIPSR2 Paul Burton <paul.burton@imgtec.com> - 2015-09-12 17:20 +0200
| From | Ralf Baechle <ralf@linux-mips.org> |
|---|---|
| Date | 2015-09-12 12:20 +0200 |
| Subject | Re: [PATCH 5/6] MIPS: CONFIG_MIPS_MT_SMP should depend upon CPU_MIPSR2 |
| Message-ID | <q7Q4x-5XR-5@gated-at.bofh.it> |
On Wed, Aug 05, 2015 at 03:42:39PM -0700, Paul Burton wrote: > The MT ASE cannot be used with CPUs that implement older releases of the > MIPS architecture than release 2, and is replaced in release 6. Encode > these constraints in Kconfig to ensure that MT code is only built as > part of kernels targeting an appropriate revision of the architecture. > > Signed-off-by: Paul Burton <paul.burton@imgtec.com> > Cc: Markos Chandras <markos.chandras@imgtec.com> > Cc: <stable@vger.kernel.org> # 3.16+ > --- > > arch/mips/Kconfig | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig > index cee5f93..ef248cf 100644 > --- a/arch/mips/Kconfig > +++ b/arch/mips/Kconfig > @@ -2114,7 +2114,7 @@ config CPU_R4K_CACHE_TLB > > 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. Ralf -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [next] | [standalone]
| From | Paul Burton <paul.burton@imgtec.com> |
|---|---|
| Date | 2015-09-12 17:20 +0200 |
| Message-ID | <q7UKR-4gq-9@gated-at.bofh.it> |
| In reply to | #1223374 |
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.
Thanks,
Paul
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web