Re: [PATCH] jump_label: unlikely(x) > 0

From: Andrew Morton
Date: Fri Oct 11 2013 - 16:57:14 EST


On Fri, 11 Oct 2013 22:50:50 +0200 (CEST) Roel Kluin <roel.kluin@xxxxxxxxx> wrote:

> untested, but wasn't this intended instead?
> --------------
> if (unlikely(x) > 0) doesn't seem to help branch prediction
>
> ...
>
> --- a/include/linux/jump_label.h
> +++ b/include/linux/jump_label.h
> @@ -132,14 +132,14 @@ static __always_inline void jump_label_init(void)
>
> static __always_inline bool static_key_false(struct static_key *key)
> {
> - if (unlikely(atomic_read(&key->enabled)) > 0)
> + if (unlikely(atomic_read(&key->enabled) > 0))
> return true;
> return false;
> }
>
> static __always_inline bool static_key_true(struct static_key *key)
> {
> - if (likely(atomic_read(&key->enabled)) > 0)
> + if (likely(atomic_read(&key->enabled) > 0))
> return true;
> return false;
> }

I'm sure this was intended instead ;) The patch doesn't seem to make
any difference in code generation with my gcc.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/