David Miller a écrit : > From: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> > Date: Tue, 28 Apr 2009 09:55:32 -0700 (PDT) > >> On Tue, 28 Apr 2009, Linus Torvalds wrote: >>> Ack. >>> >>> It could do with the update from Eric about how non-current CPU writelocks >>> only require preemp-disable around get_counters() (and then the >>> local_bh_disable() only around the current-CPU case). >> Btw, regardless, that's an incremental improvement, and does not negate >> the "Ack" part. > > I've applied this, thanks everyone! Small followup on this one, since the likely() were forgotten. (I trimmed down CCed list, which was insane) It makes a difference on my x86_32 machine, gcc-4.4.0 Thank you [PATCH] netfilter: use likely() in xt_info_rdlock_bh() Signed-off-by: Eric Dumazet <dada1@xxxxxxxxxxxxx> --- diff --git a/include/linux/netfilter/x_tables.h b/include/linux/netfilter/x_tables.h index 1b2e435..c9efe03 100644 --- a/include/linux/netfilter/x_tables.h +++ b/include/linux/netfilter/x_tables.h @@ -472,7 +472,7 @@ static inline void xt_info_rdlock_bh(void) local_bh_disable(); lock = &__get_cpu_var(xt_info_locks); - if (!lock->readers++) + if (likely(!lock->readers++)) spin_lock(&lock->lock); } @@ -480,7 +480,7 @@ static inline void xt_info_rdunlock_bh(void) { struct xt_info_lock *lock = &__get_cpu_var(xt_info_locks); - if (!--lock->readers) + if (likely(!--lock->readers)) spin_unlock(&lock->lock); local_bh_enable(); } -- To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html