Skip to content

powerpc8xx: Further optimisation of TLB handling

Christophe Leroy linuxppc-dev lkml 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 Latest11 patches 3 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/11powerpc/8xx: remove remaining unnecessary code in FixupDARarch/powerpc/kernel/head_8xx.S+0 -60 replies
2/11powerpc/8xx: remove tests on PGDIR entry validityarch/powerpc/kernel/head_8xx.S+8 -330 replies
3/11powerpc32: Use kmem_cache memory for PGDIRarch/powerpc/include/asm/pgtable-ppc32.h arch/powerpc/mm/pgtable_32.c+18 -20 replies
4/11powerpc/8xx: Take benefit of aligned PGDIRarch/powerpc/kernel/head_8xx.S+15 -190 replies
5/11powerpc/8xx: Optimise access to swapper_pg_dirarch/powerpc/kernel/head_8xx.S+10 -120 replies
6/11powerpc/8xx: Remove duplicated code in set_context()arch/powerpc/kernel/head_8xx.S+4 -60 replies
7/11powerpc/8xx: macro for handling CPU15 errataarch/powerpc/kernel/head_8xx.S+12 -62 replies
8/11powerpc/8xx: Handle CR out of exception PROLOG/EPILOGarch/powerpc/kernel/head_8xx.S+7 -30 replies
9/11powerpc/8xx: dont save CR in SCRATCH registersarch/powerpc/kernel/head_8xx.S+37 -160 replies
10/11powerpc/8xx: Use SPRG2 instead of DAR for saving r3arch/powerpc/kernel/head_8xx.S+4 -50 replies
11/11powerpc/8xx: Add support for TASK_SIZE greater than 0x80000000arch/powerpc/kernel/head_8xx.S+21 -80 replies

Reviews trailers per patch

None of the 11 patches has a Reviewed-by or Acked-by.

PatchChristophe Leroy
SeriesT-b
1/11
2/11
3/11
4/11
5/11
6/11
7/11
8/11
9/11
10/11
11/11

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v1 thread

Cover letter [PATCH 00/11] powerpc8xx: Further optimisation of TLB handling

This patchset provides a further optimisation of TLB handling in the 8xx. Main changes are based on:
- Using processor handling of PGD/PTE Validity bits instead of testing ourselves the entries validity
- Aligning PGD address to allow direct bit manipulation
- Not saving registers like CR when not needed

It also adds support to any TASK_SIZE

Patchset:
01 - powerpc/8xx: remove remaining unnecessary code in FixupDAR 02 - powerpc/8xx: remove tests on PGDIR entry validity 03 - powerpc32: Use kmem_cache memory for PGDIR
04 - powerpc/8xx: Take benefit of aligned PGDIR
05 - powerpc/8xx: Optimise access to swapper_pg_dir
06 - powerpc/8xx: Remove duplicated code in set_context() 07 - powerpc/8xx: macro for handling CPU15 errata
08 - powerpc/8xx: Handle CR out of exception PROLOG/EPILOG 09 - powerpc/8xx: dont save CR in SCRATCH registers
10 - powerpc/8xx: Use SPRG2 instead of DAR for saving r3 11 - powerpc/8xx: Add support for TASK_SIZE greater than 0x80000000

All changes have been successfully tested on MPC885

---
 arch/powerpc/include/asm/page.h          |  8 +++----
 arch/powerpc/include/asm/pgtable-ppc32.h | 37 +++++++++++++++++++++-----------
 arch/powerpc/include/asm/pgtable.h       | 17 ++++++++-------
 arch/powerpc/include/asm/pte-8xx.h       |  1 +
 arch/powerpc/include/asm/pte-common.h    |  3 +++
 arch/powerpc/kernel/head_8xx.S           |  3 ---
 arch/powerpc/mm/pgtable_32.c             | 14 ++++++++++++
 7 files changed, 56 insertions(+), 27 deletions(-)