net: always inline net_secret_init
authorHannes Frederic Sowa <hannes@stressinduktion.org>
Wed, 23 Oct 2013 06:44:50 +0000 (08:44 +0200)
committerDavid S. Miller <davem@davemloft.net>
Wed, 23 Oct 2013 20:26:46 +0000 (16:26 -0400)
Currently net_secret_init does not get inlined, so we always have a call
to net_secret_init even in the fast path.

Let's specify net_secret_init as __always_inline so we have the nop in
the fast-path without the call to net_secret_init and the unlikely path
at the epilogue of the function.

jump_labels handle the inlining correctly.

Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/core/secure_seq.c

index b02fd16..90e8a82 100644 (file)
@@ -15,7 +15,7 @@
 
 static u32 net_secret[NET_SECRET_SIZE] ____cacheline_aligned;
 
-static void net_secret_init(void)
+static __always_inline void net_secret_init(void)
 {
        net_get_random_once(net_secret, sizeof(net_secret));
 }