Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=76eb946040a7b4c797979a9c22464b9a07890ba5
Commit:     76eb946040a7b4c797979a9c22464b9a07890ba5
Parent:     ffaa9c100bd75c81744a2b7800a45daba53db0eb
Author:     Patrick McHardy <[EMAIL PROTECTED]>
AuthorDate: Thu Jan 31 04:41:44 2008 -0800
Committer:  David S. Miller <[EMAIL PROTECTED]>
CommitDate: Thu Jan 31 19:27:58 2008 -0800

    [NETFILTER]: nf_conntrack: don't inline early_drop()
    
    early_drop() is only called *very* rarely, unfortunately gcc inlines it
    into the hotpath because there is only a single caller. Explicitly mark
    it noinline.
    
    Signed-off-by: Patrick McHardy <[EMAIL PROTECTED]>
    Signed-off-by: David S. Miller <[EMAIL PROTECTED]>
---
 net/netfilter/nf_conntrack_core.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/net/netfilter/nf_conntrack_core.c 
b/net/netfilter/nf_conntrack_core.c
index 4a2cce1..1205883 100644
--- a/net/netfilter/nf_conntrack_core.c
+++ b/net/netfilter/nf_conntrack_core.c
@@ -420,7 +420,7 @@ EXPORT_SYMBOL_GPL(nf_conntrack_tuple_taken);
 
 /* There's a small race here where we may free a just-assured
    connection.  Too bad: we're in trouble anyway. */
-static int early_drop(unsigned int hash)
+static noinline int early_drop(unsigned int hash)
 {
        /* Use oldest entry, which is roughly LRU */
        struct nf_conntrack_tuple_hash *h;
@@ -472,8 +472,8 @@ struct nf_conn *nf_conntrack_alloc(const struct 
nf_conntrack_tuple *orig,
        /* We don't want any race condition at early drop stage */
        atomic_inc(&nf_conntrack_count);
 
-       if (nf_conntrack_max
-           && atomic_read(&nf_conntrack_count) > nf_conntrack_max) {
+       if (nf_conntrack_max &&
+           unlikely(atomic_read(&nf_conntrack_count) > nf_conntrack_max)) {
                unsigned int hash = hash_conntrack(orig);
                if (!early_drop(hash)) {
                        atomic_dec(&nf_conntrack_count);
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to