[PATCH 2.6.0-test4][IPv6] ip6_flowlabel.c: timer cleanups

From: Vinay K Nallamothu
Date: Tue Aug 26 2003 - 09:15:09 EST


Hi,

Compiles fine though untested. A similar patch should be applicable to
2.4 also.

net/ipv6/ip6_flowlabel.c:
This patch does the following modifications to timer management:
1. use static timer initializer
2. replace del_timer/add_timer with mod_timer

--- linux-2.6.0-test4/net/ipv6/ip6_flowlabel.c 2003-07-15 17:23:45.000000000 +0530
+++ linux-2.6.0-test4-nvk/net/ipv6/ip6_flowlabel.c 2003-08-26 19:49:34.000000000 +0530
@@ -49,7 +49,8 @@
static atomic_t fl_size = ATOMIC_INIT(0);
static struct ip6_flowlabel *fl_ht[FL_HASH_MASK+1];

-static struct timer_list ip6_fl_gc_timer;
+static void ip6_fl_gc(unsigned long dummy);
+static struct timer_list ip6_fl_gc_timer = TIMER_INITIALIZER(ip6_fl_gc, 0, 0);

/* FL hash table lock: it protects only of GC */

@@ -104,10 +105,9 @@
fl->opt = NULL;
kfree(opt);
}
- if (!del_timer(&ip6_fl_gc_timer) ||
- (long)(ip6_fl_gc_timer.expires - ttd) > 0)
- ip6_fl_gc_timer.expires = ttd;
- add_timer(&ip6_fl_gc_timer);
+ if (!timer_pending(&ip6_fl_gc_timer) ||
+ time_after(ip6_fl_gc_timer.expires, ttd))
+ mod_timer(&ip6_fl_gc_timer, ttd);
}
}

@@ -692,10 +692,6 @@
{
#ifdef CONFIG_PROC_FS
struct proc_dir_entry *p;
-#endif
- init_timer(&ip6_fl_gc_timer);
- ip6_fl_gc_timer.function = ip6_fl_gc;
-#ifdef CONFIG_PROC_FS
p = create_proc_entry("ip6_flowlabel", S_IRUGO, proc_net);
if (p)
p->proc_fops = &ip6fl_seq_fops;





-
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/