LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
* [PATCH] Revert "MIPS: mm: tlbex: Use cpu_has_mips_r2_exec_hazard for the EHB instruction"
@ 2015-02-23 22:52 David Daney
2015-02-24 1:10 ` Maciej W. Rozycki
2015-03-11 8:28 ` Markos Chandras
0 siblings, 2 replies; 4+ messages in thread
From: David Daney @ 2015-02-23 22:52 UTC (permalink / raw)
To: linux-mips, ralf
Cc: linux-kernel, Leonid Yegoshin, Markos Chandras, David Daney
From: David Daney <david.daney@cavium.com>
This reverts commit 77f3ee59ee7cfe19e0ee48d9a990c7967fbfcbed.
There are two problems:
1) It breaks OCTEON, which will now crash in early boot with:
Kernel panic - not syncing: No TLB refill handler yet (CPU type: 80)
2) The logic is broken.
The meaning of cpu_has_mips_r2_exec_hazard is that the EHB instruction
is required. The offending patch attempts (and fails) to change the
meaning to be that EHB is part of the ISA.
Signed-off-by: David Daney <david.daney@cavium.com>
---
arch/mips/mm/tlbex.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/arch/mips/mm/tlbex.c b/arch/mips/mm/tlbex.c
index d75ff73..ff8d99c 100644
--- a/arch/mips/mm/tlbex.c
+++ b/arch/mips/mm/tlbex.c
@@ -501,7 +501,7 @@ static void build_tlb_write_entry(u32 **p, struct uasm_label **l,
case tlb_indexed: tlbw = uasm_i_tlbwi; break;
}
- if (cpu_has_mips_r2_exec_hazard) {
+ if (cpu_has_mips_r2) {
/*
* The architecture spec says an ehb is required here,
* but a number of cores do not have the hazard and
@@ -1953,7 +1953,7 @@ static void build_r4000_tlb_load_handler(void)
switch (current_cpu_type()) {
default:
- if (cpu_has_mips_r2_exec_hazard) {
+ if (cpu_has_mips_r2) {
uasm_i_ehb(&p);
case CPU_CAVIUM_OCTEON:
@@ -2020,7 +2020,7 @@ static void build_r4000_tlb_load_handler(void)
switch (current_cpu_type()) {
default:
- if (cpu_has_mips_r2_exec_hazard) {
+ if (cpu_has_mips_r2) {
uasm_i_ehb(&p);
case CPU_CAVIUM_OCTEON:
--
1.7.11.7
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] Revert "MIPS: mm: tlbex: Use cpu_has_mips_r2_exec_hazard for the EHB instruction"
2015-02-23 22:52 [PATCH] Revert "MIPS: mm: tlbex: Use cpu_has_mips_r2_exec_hazard for the EHB instruction" David Daney
@ 2015-02-24 1:10 ` Maciej W. Rozycki
2015-03-11 8:28 ` Markos Chandras
1 sibling, 0 replies; 4+ messages in thread
From: Maciej W. Rozycki @ 2015-02-24 1:10 UTC (permalink / raw)
To: David Daney
Cc: linux-mips, ralf, linux-kernel, Leonid Yegoshin, Markos Chandras,
David Daney
On Mon, 23 Feb 2015, David Daney wrote:
> From: David Daney <david.daney@cavium.com>
>
> This reverts commit 77f3ee59ee7cfe19e0ee48d9a990c7967fbfcbed.
>
> There are two problems:
>
> 1) It breaks OCTEON, which will now crash in early boot with:
>
> Kernel panic - not syncing: No TLB refill handler yet (CPU type: 80)
>
> 2) The logic is broken.
>
> The meaning of cpu_has_mips_r2_exec_hazard is that the EHB instruction
> is required. The offending patch attempts (and fails) to change the
> meaning to be that EHB is part of the ISA.
>
> Signed-off-by: David Daney <david.daney@cavium.com>
> ---
Code affected will have to be reconsidered including possibly older
changes as well. Meanwhile, to revert the immediate regression, you have
my:
Reviewed-by: Maciej W. Rozycki <macro@linux-mips.org>
Next time please try to use the imperative mood for the commit message
though, as per Documentation/SubmittingPatches.
Overall I think it makes sense to have a look back there every once in a
while to avoid getting trapped in routine. Some breakage we fall into
from time to time results from missing the guidelines set there, sigh.
Maciej
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] Revert "MIPS: mm: tlbex: Use cpu_has_mips_r2_exec_hazard for the EHB instruction"
2015-02-23 22:52 [PATCH] Revert "MIPS: mm: tlbex: Use cpu_has_mips_r2_exec_hazard for the EHB instruction" David Daney
2015-02-24 1:10 ` Maciej W. Rozycki
@ 2015-03-11 8:28 ` Markos Chandras
2015-03-11 16:51 ` David Daney
1 sibling, 1 reply; 4+ messages in thread
From: Markos Chandras @ 2015-03-11 8:28 UTC (permalink / raw)
To: David Daney, linux-mips, ralf; +Cc: linux-kernel, Leonid Yegoshin, David Daney
On 02/23/2015 10:52 PM, David Daney wrote:
> From: David Daney <david.daney@cavium.com>
>
> This reverts commit 77f3ee59ee7cfe19e0ee48d9a990c7967fbfcbed.
>
> There are two problems:
>
> 1) It breaks OCTEON, which will now crash in early boot with:
>
> Kernel panic - not syncing: No TLB refill handler yet (CPU type: 80)
>
> 2) The logic is broken.
>
> The meaning of cpu_has_mips_r2_exec_hazard is that the EHB instruction
> is required. The offending patch attempts (and fails) to change the
> meaning to be that EHB is part of the ISA.
>
> Signed-off-by: David Daney <david.daney@cavium.com>
> ---
Hi,
First of all sorry about the octeon breakage.
However, whilst this patch will fix Octeon it will break R6
Can we please consider another patch that will simply use
cpu_has_mips_r2_r6 instead of cpu_has_mips_r2 so both will work in 4.0?
--
markos
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] Revert "MIPS: mm: tlbex: Use cpu_has_mips_r2_exec_hazard for the EHB instruction"
2015-03-11 8:28 ` Markos Chandras
@ 2015-03-11 16:51 ` David Daney
0 siblings, 0 replies; 4+ messages in thread
From: David Daney @ 2015-03-11 16:51 UTC (permalink / raw)
To: Markos Chandras, ralf
Cc: linux-mips, linux-kernel, Leonid Yegoshin, David Daney
On 03/11/2015 01:28 AM, Markos Chandras wrote:
> On 02/23/2015 10:52 PM, David Daney wrote:
>> From: David Daney <david.daney@cavium.com>
>>
>> This reverts commit 77f3ee59ee7cfe19e0ee48d9a990c7967fbfcbed.
>>
>> There are two problems:
>>
>> 1) It breaks OCTEON, which will now crash in early boot with:
>>
>> Kernel panic - not syncing: No TLB refill handler yet (CPU type: 80)
>>
>> 2) The logic is broken.
>>
>> The meaning of cpu_has_mips_r2_exec_hazard is that the EHB instruction
>> is required. The offending patch attempts (and fails) to change the
>> meaning to be that EHB is part of the ISA.
>>
>> Signed-off-by: David Daney <david.daney@cavium.com>
>> ---
> Hi,
>
> First of all sorry about the octeon breakage.
>
> However, whilst this patch will fix Octeon it will break R6
>
But breaking R6 is not a regression, breaking OCTEON is. For new code,
there is this bit of asymmetry.
> Can we please consider another patch that will simply use
> cpu_has_mips_r2_r6 instead of cpu_has_mips_r2 so both will work in 4.0?
>
If you have a patch that fixes the problem properly, please post it for
consideration.
Thanks,
David Daney
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2015-03-11 16:51 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-02-23 22:52 [PATCH] Revert "MIPS: mm: tlbex: Use cpu_has_mips_r2_exec_hazard for the EHB instruction" David Daney
2015-02-24 1:10 ` Maciej W. Rozycki
2015-03-11 8:28 ` Markos Chandras
2015-03-11 16:51 ` David Daney
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).