2008-02-16 15:51:29

by Roel Kluin

[permalink] [raw]
Subject: [PATCH 1/2] [x86] arch/x86/kernel/signal_32.c: replace !likely(x) by likely(!x)

Replace !likely(x) by likely(!x)

Signed-off-by: Roel Kluin <[email protected]>
---
diff --git a/arch/x86/kernel/signal_32.c b/arch/x86/kernel/signal_32.c
index caee1f0..335872f 100644
--- a/arch/x86/kernel/signal_32.c
+++ b/arch/x86/kernel/signal_32.c
@@ -303,7 +303,7 @@ get_sigframe(struct k_sigaction *ka, struct pt_regs * regs, size_t frame_size)
* If we are on the alternate signal stack and would overflow it, don't.
* Return an always-bogus address instead so we will die with SIGSEGV.
*/
- if (on_sig_stack(sp) && !likely(on_sig_stack(sp - frame_size)))
+ if (on_sig_stack(sp) && likely(!on_sig_stack(sp - frame_size)))
return (void __user *) -1L;

/* This is the X/Open sanctioned signal stack switching. */


2008-02-16 19:29:20

by Roel Kluin

[permalink] [raw]
Subject: Re: [PATCH 1/2] [x86] arch/x86/kernel/signal_32.c: replace !likely(x) by likely(!x)

Roel Kluin wrote:
> Replace !likely(x) by likely(!x)
>
> Signed-off-by: Roel Kluin <[email protected]>
> ---
> diff --git a/arch/x86/kernel/signal_32.c b/arch/x86/kernel/signal_32.c
> index caee1f0..335872f 100644
> --- a/arch/x86/kernel/signal_32.c
> +++ b/arch/x86/kernel/signal_32.c
> @@ -303,7 +303,7 @@ get_sigframe(struct k_sigaction *ka, struct pt_regs * regs, size_t frame_size)
> * If we are on the alternate signal stack and would overflow it, don't.
> * Return an always-bogus address instead so we will die with SIGSEGV.
> */
> - if (on_sig_stack(sp) && !likely(on_sig_stack(sp - frame_size)))
> + if (on_sig_stack(sp) && likely(!on_sig_stack(sp - frame_size)))
> return (void __user *) -1L;
>
> /* This is the X/Open sanctioned signal stack switching. */
> --
sorry, please ignore this patch

2008-02-16 19:57:19

by Roel Kluin

[permalink] [raw]
Subject: Re: [PATCH 1/2] [x86] arch/x86/kernel/signal_32.c: replace !likely(x) by likely(!x)

Roel Kluin wrote:
> Roel Kluin wrote:
>> Replace !likely(x) by likely(!x)

> sorry, please ignore this patch

The patch below shouldn't change semantics.
---
replace !likely(x) by unlikely(!x)

Signed-off-by: Roel Kluin <[email protected]>
---
diff --git a/arch/x86/kernel/signal_32.c b/arch/x86/kernel/signal_32.c
index caee1f0..c0fb075 100644
--- a/arch/x86/kernel/signal_32.c
+++ b/arch/x86/kernel/signal_32.c
@@ -303,7 +303,7 @@ get_sigframe(struct k_sigaction *ka, struct pt_regs * regs, size_t frame_size)
* If we are on the alternate signal stack and would overflow it, don't.
* Return an always-bogus address instead so we will die with SIGSEGV.
*/
- if (on_sig_stack(sp) && !likely(on_sig_stack(sp - frame_size)))
+ if (on_sig_stack(sp) && unlikely(!on_sig_stack(sp - frame_size)))
return (void __user *) -1L;

/* This is the X/Open sanctioned signal stack switching. */

2008-02-17 16:23:58

by Ingo Molnar

[permalink] [raw]
Subject: Re: [PATCH 1/2] [x86] arch/x86/kernel/signal_32.c: replace !likely(x) by likely(!x)


* Roel Kluin <[email protected]> wrote:

> - if (on_sig_stack(sp) && !likely(on_sig_stack(sp - frame_size)))
> + if (on_sig_stack(sp) && unlikely(!on_sig_stack(sp - frame_size)))

hm, what's the purpose of this change?

Ingo