linux-mips
[Top] [All Lists]

[PATCH] Micro optimize setup/restore sigcontext

To: linux-mips@linux-mips.org
Subject: [PATCH] Micro optimize setup/restore sigcontext
From: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Date: Sun, 11 Mar 2007 01:11:07 +0900 (JST)
Cc: ralf@linux-mips.org
Original-recipient: rfc822;linux-mips@linux-mips.org
Sender: linux-mips-bounce@linux-mips.org
No need to call used_math() twice in setup_sigcontext, and no need to
call used_math() in restore_sigcontext.

Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
---
 arch/mips/kernel/signal.c   |    8 +++++---
 arch/mips/kernel/signal32.c |    8 +++++---
 2 files changed, 10 insertions(+), 6 deletions(-)

diff --git a/arch/mips/kernel/signal.c b/arch/mips/kernel/signal.c
index 5b50569..8c3c5a5 100644
--- a/arch/mips/kernel/signal.c
+++ b/arch/mips/kernel/signal.c
@@ -82,6 +82,7 @@ int setup_sigcontext(struct pt_regs *reg
 {
        int err = 0;
        int i;
+       unsigned int used_math;
 
        err |= __put_user(regs->cp0_epc, &sc->sc_pc);
 
@@ -104,9 +105,10 @@ int setup_sigcontext(struct pt_regs *reg
                err |= __put_user(rddsp(DSP_MASK), &sc->sc_dsp);
        }
 
-       err |= __put_user(!!used_math(), &sc->sc_used_math);
+       used_math = !!used_math();
+       err |= __put_user(used_math, &sc->sc_used_math);
 
-       if (used_math()) {
+       if (used_math) {
                /*
                 * Save FPU state to signal context. Signal handler
                 * will "inherit" current FPU state.
@@ -183,7 +185,7 @@ int restore_sigcontext(struct pt_regs *r
        err |= __get_user(used_math, &sc->sc_used_math);
        conditional_used_math(used_math);
 
-       if (used_math()) {
+       if (used_math) {
                /* restore fpu context if we have used it before */
                own_fpu(0);
                enable_fp_in_kernel();
diff --git a/arch/mips/kernel/signal32.c b/arch/mips/kernel/signal32.c
index c90c8cf..151fd2f 100644
--- a/arch/mips/kernel/signal32.c
+++ b/arch/mips/kernel/signal32.c
@@ -181,6 +181,7 @@ static int setup_sigcontext32(struct pt_
 {
        int err = 0;
        int i;
+       u32 used_math;
 
        err |= __put_user(regs->cp0_epc, &sc->sc_pc);
 
@@ -200,9 +201,10 @@ static int setup_sigcontext32(struct pt_
                err |= __put_user(mflo3(), &sc->sc_lo3);
        }
 
-       err |= __put_user(!!used_math(), &sc->sc_used_math);
+       used_math = !!used_math();
+       err |= __put_user(used_math, &sc->sc_used_math);
 
-       if (used_math()) {
+       if (used_math) {
                /*
                 * Save FPU state to signal context.  Signal handler
                 * will "inherit" current FPU state.
@@ -257,7 +259,7 @@ static int restore_sigcontext32(struct p
        err |= __get_user(used_math, &sc->sc_used_math);
        conditional_used_math(used_math);
 
-       if (used_math()) {
+       if (used_math) {
                /* restore fpu context if we have used it before */
                own_fpu(0);
                enable_fp_in_kernel();

<Prev in Thread] Current Thread [Next in Thread>
  • [PATCH] Micro optimize setup/restore sigcontext, Atsushi Nemoto <=