Re: [PATCH 00/15] Backport 8xx TLB to 2.4

2011-06-15 Thread Joakim Tjernlund
Willy Tarreau w...@1wt.eu wrote on 2011/06/14 21:31:06:

 Hi Joakim,

 On Tue, Jun 14, 2011 at 03:54:45PM +0200, Joakim Tjernlund wrote:
  This is a backport from 2.6 which I did to overcome 8xx CPU
  bugs. 8xx does not update the DAR register when taking a TLB
  error caused by dcbX and icbi insns which makes it very
  tricky to use these insns. Also the dcbst wrongly sets the
  the store bit when faulting into DTLB error.
  A few more bugs very found during development.
 
  I know 2.4 is in strict maintenance mode and 8xx is obsolete
  but as it is still in use I wanted 8xx to age with grace.

 OK, I'm not opposed to merge these patches and I really welcome your
 work and want to thank you for having done it. However, I have
 absolutely *zero* skills on ppc, so I want to ensure that someone
 (possibly you) will be able to back me up in case of reported
 regressions once these patches are merged. Since you say that the
 code works on your board, I'm not much worried but at least Dan's
 comment about the risk of performance regression has to be considered.
 If we all agree that it's a tradeoff between performance and stability
 or security, then that's a different matter of course !

Yes, I will still be here :) If there are any regressions I will help out. If
we can't fix it, we can easily back these changes out. I guess I and
Dan will come to some agreement soon and I will post additional, if needed,
patches on top of what I already sent once Dan is happy.

 Jocke

___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev


[PATCH 00/15] Backport 8xx TLB to 2.4

2011-06-14 Thread Joakim Tjernlund
This is a backport from 2.6 which I did to overcome 8xx CPU
bugs. 8xx does not update the DAR register when taking a TLB
error caused by dcbX and icbi insns which makes it very
tricky to use these insns. Also the dcbst wrongly sets the
the store bit when faulting into DTLB error.
A few more bugs very found during development.

I know 2.4 is in strict maintenance mode and 8xx is obsolete
but as it is still in use I wanted 8xx to age with grace.

Addendum:
I have now ported our 8xx custom board to 2.4.37.11 and
tested these patches there.

Joakim Tjernlund (15):
  8xx: Use a macro to simpliy CPU6 errata code.
  8xx: Tag DAR with 0x00f0 to catch buggy instructions.
  8xx: invalidate non present TLBs
  8xx: Fix CONFIG_PIN_TLB
  8xx: Update TLB asm so it behaves as linux mm expects.
  8xx: Always pin kernel instruction TLB
  8xx: Fixup DAR from buggy dcbX instructions.
  8xx: CPU6 errata make DTLB error too big to fit.
  8xx: Add missing Guarded setting in DTLB Error.
  8xx: Restore _PAGE_WRITETHRU
  8xx: Set correct HW pte flags in DTLB Error too
  8xx: start using dcbX instructions in various copy routines
  8xx: Use symbolic constants in TLB asm
  8xx: Optimize ITLBMiss handler.
  8xx: Optimize TLB Miss handlers

 arch/ppc/kernel/head_8xx.S |  381 ++-
 arch/ppc/kernel/misc.S |   18 --
 arch/ppc/lib/string.S  |   17 --
 include/asm-ppc/pgtable.h  |   16 +-
 4 files changed, 274 insertions(+), 158 deletions(-)

-- 
1.7.3.4

___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev


Re: [PATCH 00/15] Backport 8xx TLB to 2.4

2011-06-14 Thread Dan Malek


Hi Joakim.

On Jun 14, 2011, at 6:54 AM, Joakim Tjernlund wrote:


I know 2.4 is in strict maintenance mode and 8xx is obsolete
but as it is still in use I wanted 8xx to age with grace.


Thanks for your continued support.  I have recently become
involved in some 8xx development again, and have noticed
it is still used more than some may realize.

-- Dan

___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev


Re: [PATCH 00/15] Backport 8xx TLB to 2.4

2011-06-14 Thread Joakim Tjernlund
Dan Malek digitald...@digitaldans.com wrote on 2011/06/14 18:11:51:


 Hi Joakim.

 On Jun 14, 2011, at 6:54 AM, Joakim Tjernlund wrote:

  I know 2.4 is in strict maintenance mode and 8xx is obsolete
  but as it is still in use I wanted 8xx to age with grace.

 Thanks for your continued support.  I have recently become
 involved in some 8xx development again, and have noticed
 it is still used more than some may realize.

hehe, 8xx is still hanging on here to. The app. is still in development.

I hope you will give these patches a go and let us know how it went?

 Jocke

___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev


Re: [PATCH 00/15] Backport 8xx TLB to 2.4

2011-06-14 Thread Willy Tarreau
Hi Joakim,

On Tue, Jun 14, 2011 at 03:54:45PM +0200, Joakim Tjernlund wrote:
 This is a backport from 2.6 which I did to overcome 8xx CPU
 bugs. 8xx does not update the DAR register when taking a TLB
 error caused by dcbX and icbi insns which makes it very
 tricky to use these insns. Also the dcbst wrongly sets the
 the store bit when faulting into DTLB error.
 A few more bugs very found during development.
 
 I know 2.4 is in strict maintenance mode and 8xx is obsolete
 but as it is still in use I wanted 8xx to age with grace.

OK, I'm not opposed to merge these patches and I really welcome your
work and want to thank you for having done it. However, I have
absolutely *zero* skills on ppc, so I want to ensure that someone
(possibly you) will be able to back me up in case of reported
regressions once these patches are merged. Since you say that the
code works on your board, I'm not much worried but at least Dan's
comment about the risk of performance regression has to be considered.
If we all agree that it's a tradeoff between performance and stability
or security, then that's a different matter of course !

Thanks !
Willy

___
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev