• Paul Burton's avatar
    MIPS: Don't require FPU on sigcontext setup/restore · ff3aa5f2
    Paul Burton authored
    When a task which has used the FPU at some point in its past takes a
    signal the kernel would previously always require the task to take
    ownership of the FPU whilst setting up or restoring from the sigcontext.
    That means that if the task has not used the FPU within this timeslice
    then the kernel would enable the FPU, restore the task's FP context into
    FPU registers and then save them into the sigcontext. This seems
    inefficient, and if the signal handler doesn't use FP then enabling the
    FPU & the extra memory accesses are entirely wasted work.
    
    This patch modifies the sigcontext setup & restore code to copy directly
    between the tasks saved FP context & the sigcontext for any tasks which
    have used FP in the past but are not currently the FPU owner (ie. have
    not used FP in this timeslice).
    Signed-off-by: default avatarPaul Burton <paul.burton@imgtec.com>
    Reviewed-by: default avatarQais Yousef <qais.yousef@imgtec.com>
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/6423/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
    ff3aa5f2
signal.c 15.9 KB