Here's the patch that lead up to the first patch (the renaming of death_by_timeout and exporting it).
This patch adds a check to ip_ct_refresh() so it doesn't update the timer of a connection unless it's been >HZ ticks since the last update. both del_timer() and add_timer() disables interrupts while removing/inserting the timer, no reason to do this for each packet. -- /Martin Never argue with an idiot. They drag you down to their level, then beat you with experience.
--- linux-2.4.19-pre9/net/ipv4/netfilter/ip_conntrack_core.c.orig Mon Jun 3 20:32:28 2002 +++ linux-2.4.19-pre9/net/ipv4/netfilter/ip_conntrack_core.c Mon Jun 3 20:48:13 +2002 @@ -1091,8 +1091,10 @@ if (!is_confirmed(ct)) ct->timeout.expires = extra_jiffies; else { - /* Need del_timer for race avoidance (may already be dying). */ - if (del_timer(&ct->timeout)) { + /* Don't update timer for each packet, only if it's been >HZ + * ticks since last update. + * Need del_timer for race avoidance (may already be dying). */ + if (time_after(jiffies, ct->timeout.expires - extra_jiffies + HZ) && +del_timer(&ct->timeout)) { ct->timeout.expires = jiffies + extra_jiffies; add_timer(&ct->timeout); }