[PATCH v2 0/6] Drop the per-node-mode exception handlers

Jinyang He posted 6 patches 2 years, 6 months ago
arch/loongarch/include/asm/asmmacro.h   | 17 -----
arch/loongarch/include/asm/setup.h      | 14 ----
arch/loongarch/include/asm/stackframe.h |  2 +-
arch/loongarch/include/asm/traps.h      | 81 ++++++++++++++++++++++
arch/loongarch/include/asm/unwind.h     |  2 +-
arch/loongarch/kernel/entry.S           | 15 ++--
arch/loongarch/kernel/genex.S           | 75 ++++++++++++--------
arch/loongarch/kernel/head.S            |  2 +
arch/loongarch/kernel/mcount_dyn.S      |  2 +
arch/loongarch/kernel/relocate.c        | 28 --------
arch/loongarch/kernel/traps.c           | 74 +-------------------
arch/loongarch/kernel/unwind_prologue.c | 91 +++----------------------
arch/loongarch/kernel/vmlinux.lds.S     | 37 +++++++---
arch/loongarch/mm/cache.c               |  6 --
arch/loongarch/mm/tlb.c                 | 40 -----------
arch/loongarch/mm/tlbex.S               | 71 +++++++++++--------
arch/loongarch/power/suspend.c          |  5 +-
17 files changed, 230 insertions(+), 332 deletions(-)
create mode 100644 arch/loongarch/include/asm/traps.h
[PATCH v2 0/6] Drop the per-node-mode exception handlers
Posted by Jinyang He 2 years, 6 months ago
This series drops the per-node-mode exception handlers.

The UnixBench test results are as follows, Loongson-3C5000L-LL, CLFS7.1,

a, DYNAMIC_FTRACE enabled, KASLR disabled, no-pernode
b, DYNAMIC_FTRACE enabled, KASLR disabled, pernode
c, DYNAMIC_FTRACE enabled, KASLR enabled, no-pernode
       1 cpu     16 cpus
  a-1, 782.6     4025.1
  a-2, 783.3     3994.5
  a-3, 784.2     4045.5
  b-1, 775.5     3913.0
  b-2, 763.9     3833.8
  b-3, 777.7     3930.4
  c-1, 811.0     3950.4
  c-2, 795.7     3952.9

The results were almost identical, as Huacai said, the performance
difference between pernode and nopernode is negligible

v2:
  Directly call rather than using jirl.

Thanks for Ruoyao.

Jinyang He (6):
  LoongArch: Rename handle_syscall to handle_sys
  LoongArch: Move the content defined by SYM_DATA to data or rodata
    section
  LoongArch: Create a exception handlers section
  LoongArch: Drop pernode exception handlers
  LoongArch: Fix up the prologue unwinder unwind exception frame
  LoongArch: Clean up la_abs macro

 arch/loongarch/include/asm/asmmacro.h   | 17 -----
 arch/loongarch/include/asm/setup.h      | 14 ----
 arch/loongarch/include/asm/stackframe.h |  2 +-
 arch/loongarch/include/asm/traps.h      | 81 ++++++++++++++++++++++
 arch/loongarch/include/asm/unwind.h     |  2 +-
 arch/loongarch/kernel/entry.S           | 15 ++--
 arch/loongarch/kernel/genex.S           | 75 ++++++++++++--------
 arch/loongarch/kernel/head.S            |  2 +
 arch/loongarch/kernel/mcount_dyn.S      |  2 +
 arch/loongarch/kernel/relocate.c        | 28 --------
 arch/loongarch/kernel/traps.c           | 74 +-------------------
 arch/loongarch/kernel/unwind_prologue.c | 91 +++----------------------
 arch/loongarch/kernel/vmlinux.lds.S     | 37 +++++++---
 arch/loongarch/mm/cache.c               |  6 --
 arch/loongarch/mm/tlb.c                 | 40 -----------
 arch/loongarch/mm/tlbex.S               | 71 +++++++++++--------
 arch/loongarch/power/suspend.c          |  5 +-
 17 files changed, 230 insertions(+), 332 deletions(-)
 create mode 100644 arch/loongarch/include/asm/traps.h

-- 
2.34.3