diff options
author | Roland McGrath <roland@redhat.com> | 2008-04-28 03:30:37 -0400 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2008-05-14 08:31:33 -0400 |
commit | 7a10174eeafe737f3ccfcece5bdff749c3b044e0 (patch) | |
tree | 96d3139ed19153e3369683d6b71cd74852fd1ef5 /arch/powerpc/kernel/entry_32.S | |
parent | 140b932f8cb6cced10b96860651a198b1b89cbb9 (diff) |
[POWERPC] Define and use TLF_RESTORE_SIGMASK
Replace TIF_RESTORE_SIGMASK with TLF_RESTORE_SIGMASK and define
our own set_restore_sigmask() function. This saves the costly
SMP-safe set_bit operation, which we do not need for the sigmask
flag since TIF_SIGPENDING always has to be set too.
Signed-off-by: Roland McGrath <roland@redhat.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/powerpc/kernel/entry_32.S')
-rw-r--r-- | arch/powerpc/kernel/entry_32.S | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/powerpc/kernel/entry_32.S b/arch/powerpc/kernel/entry_32.S index 0c8614d9875c..3a05e9f93d42 100644 --- a/arch/powerpc/kernel/entry_32.S +++ b/arch/powerpc/kernel/entry_32.S | |||
@@ -668,7 +668,7 @@ user_exc_return: /* r10 contains MSR_KERNEL here */ | |||
668 | /* Check current_thread_info()->flags */ | 668 | /* Check current_thread_info()->flags */ |
669 | rlwinm r9,r1,0,0,(31-THREAD_SHIFT) | 669 | rlwinm r9,r1,0,0,(31-THREAD_SHIFT) |
670 | lwz r9,TI_FLAGS(r9) | 670 | lwz r9,TI_FLAGS(r9) |
671 | andi. r0,r9,(_TIF_SIGPENDING|_TIF_RESTORE_SIGMASK|_TIF_NEED_RESCHED) | 671 | andi. r0,r9,_TIF_USER_WORK_MASK |
672 | bne do_work | 672 | bne do_work |
673 | 673 | ||
674 | restore_user: | 674 | restore_user: |
@@ -925,7 +925,7 @@ recheck: | |||
925 | lwz r9,TI_FLAGS(r9) | 925 | lwz r9,TI_FLAGS(r9) |
926 | andi. r0,r9,_TIF_NEED_RESCHED | 926 | andi. r0,r9,_TIF_NEED_RESCHED |
927 | bne- do_resched | 927 | bne- do_resched |
928 | andi. r0,r9,_TIF_SIGPENDING|_TIF_RESTORE_SIGMASK | 928 | andi. r0,r9,_TIF_USER_WORK_MASK |
929 | beq restore_user | 929 | beq restore_user |
930 | do_user_signal: /* r10 contains MSR_KERNEL here */ | 930 | do_user_signal: /* r10 contains MSR_KERNEL here */ |
931 | ori r10,r10,MSR_EE | 931 | ori r10,r10,MSR_EE |