linux/arch/powerpc/kernel/ptrace
Christophe Leroy b6254ced4d powerpc/signal: Don't manage floating point regs when no FPU
There is no point in copying floating point regs when there
is no FPU and MATH_EMULATION is not selected.

Create a new CONFIG_PPC_FPU_REGS bool that is selected by
CONFIG_MATH_EMULATION and CONFIG_PPC_FPU, and use it to
opt out everything related to fp_state in thread_struct.

The asm const used only by fpu.S are opted out with CONFIG_PPC_FPU
as fpu.S build is conditionnal to CONFIG_PPC_FPU.

The following app spends approx 8.1 seconds system time on an 8xx
without the patch, and 7.0 seconds with the patch (13.5% reduction).

On an 832x, it spends approx 2.6 seconds system time without
the patch and 2.1 seconds with the patch (19% reduction).

	void sigusr1(int sig) { }

	int main(int argc, char **argv)
	{
		int i = 100000;

		signal(SIGUSR1, sigusr1);
		for (;i--;)
			raise(SIGUSR1);
		exit(0);
	}

Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/7569070083e6cd5b279bb5023da601aba3c06f3c.1597770847.git.christophe.leroy@csgroup.eu
2020-12-04 01:01:11 +11:00
..
Makefile powerpc/signal: Don't manage floating point regs when no FPU 2020-12-04 01:01:11 +11:00
ptrace32.c powerpc/ptrace: Move declaration of ptrace_get_reg() and ptrace_set_reg() 2020-12-04 01:01:11 +11:00
ptrace-adv.c powerpc/ptrace: create ppc_gethwdinfo() 2020-04-01 14:30:49 +11:00
ptrace-altivec.c powerpc: switch to ->regset_get() 2020-07-27 14:31:07 -04:00
ptrace-decl.h powerpc/signal: Don't manage floating point regs when no FPU 2020-12-04 01:01:11 +11:00
ptrace-fpu.c powerpc/ptrace: Create ptrace_get_fpr() and ptrace_put_fpr() 2020-12-04 01:01:11 +11:00
ptrace-noadv.c powerpc/watchpoint/ptrace: Introduce PPC_DEBUG_FEATURE_DATA_BP_ARCH_31 2020-09-15 22:13:20 +10:00
ptrace-novsx.c powerpc: switch to ->regset_get() 2020-07-27 14:31:07 -04:00
ptrace-spe.c powerpc: switch to ->regset_get() 2020-07-27 14:31:07 -04:00
ptrace-tm.c powerpc/ptrace: Hard wire PT_SOFTE value to 1 in gpr_get() too 2020-11-26 22:05:42 +11:00
ptrace-view.c powerpc/signal: Don't manage floating point regs when no FPU 2020-12-04 01:01:11 +11:00
ptrace-vsx.c powerpc: switch to ->regset_get() 2020-07-27 14:31:07 -04:00
ptrace.c powerpc/ptrace: Create ptrace_get_fpr() and ptrace_put_fpr() 2020-12-04 01:01:11 +11:00