Le 30/08/2019 à 23:03, Michal Suchanek a écrit :
Less code means less bugs so add a knob to skip the compat stuff.
I guess on PPC64 you have Gigabytes of memory and thousands of bogomips, hence you focus on bugs.
My main focus usually is kernel size and performance, which makes this series interesting as well.
Anyway, I was wondering, would it make sense (in a following series, not in this one) to make it buildable as a module, just like some of binfmt ?
Christophe
This is tested on ppc64le top of https://patchwork.ozlabs.org/cover/1153556/ Changes in v2: saner CONFIG_COMPAT ifdefs Changes in v3: - change llseek to 32bit instead of builing it unconditionally in fs - clanup the makefile conditionals - remove some ifdefs or convert to IS_DEFINED where possible Changes in v4: - cleanup is_32bit_task and current_is_64bit - more makefile cleanup Changes in v5: - more current_is_64bit cleanup - split off callchain.c 32bit and 64bit parts Changes in v6: - cleanup makefile after split - consolidate read_user_stack_32 - fix some checkpatch warnings Changes in v7: - add back __ARCH_WANT_SYS_LLSEEK to fix build with llseek - remove leftover hunk - add review tags Michal Suchanek (6): powerpc: Add back __ARCH_WANT_SYS_LLSEEK macro powerpc: move common register copy functions from signal_32.c to signal.c powerpc/perf: consolidate read_user_stack_32 powerpc/64: make buildable without CONFIG_COMPAT powerpc/64: Make COMPAT user-selectable disabled on littleendian by default. powerpc/perf: split callchain.c by bitness arch/powerpc/Kconfig | 5 +- arch/powerpc/include/asm/thread_info.h | 4 +- arch/powerpc/include/asm/unistd.h | 1 + arch/powerpc/kernel/Makefile | 7 +- arch/powerpc/kernel/entry_64.S | 2 + arch/powerpc/kernel/signal.c | 144 +++++++++- arch/powerpc/kernel/signal_32.c | 140 --------- arch/powerpc/kernel/syscall_64.c | 6 +- arch/powerpc/kernel/vdso.c | 5 +- arch/powerpc/perf/Makefile | 5 +- arch/powerpc/perf/callchain.c | 377 +------------------------ arch/powerpc/perf/callchain.h | 11 + arch/powerpc/perf/callchain_32.c | 204 +++++++++++++ arch/powerpc/perf/callchain_64.c | 185 ++++++++++++ fs/read_write.c | 3 +- 15 files changed, 566 insertions(+), 533 deletions(-) create mode 100644 arch/powerpc/perf/callchain.h create mode 100644 arch/powerpc/perf/callchain_32.c create mode 100644 arch/powerpc/perf/callchain_64.c