Commit fcb58a03 authored by Jozsef Kadlecsik's avatar Jozsef Kadlecsik

netfilter: ipset: use setup_timer() and mod_timer().

Use setup_timer() and instead of init_timer(), being the preferred way
of setting up a timer.

Also, quoting the mod_timer() function comment:
-> mod_timer() is a more efficient way to update the expire field of an
   active timer (if the timer is inactive it will be activated).

Use setup_timer() and mod_timer() to setup and arm a timer, making the
code compact and easier to read.
Signed-off-by: default avatarMuhammad Falak R Wani <falakreyaz@gmail.com>
Signed-off-by: default avatarJozsef Kadlecsik <kadlec@blackhole.kfki.hu>
parent c0db95c7
...@@ -41,11 +41,8 @@ mtype_gc_init(struct ip_set *set, void (*gc)(unsigned long ul_set)) ...@@ -41,11 +41,8 @@ mtype_gc_init(struct ip_set *set, void (*gc)(unsigned long ul_set))
{ {
struct mtype *map = set->data; struct mtype *map = set->data;
init_timer(&map->gc); setup_timer(&map->gc, gc, (unsigned long)set);
map->gc.data = (unsigned long)set; mod_timer(&map->gc, jiffies + IPSET_GC_PERIOD(set->timeout) * HZ);
map->gc.function = gc;
map->gc.expires = jiffies + IPSET_GC_PERIOD(set->timeout) * HZ;
add_timer(&map->gc);
} }
static void static void
......
...@@ -433,11 +433,8 @@ mtype_gc_init(struct ip_set *set, void (*gc)(unsigned long ul_set)) ...@@ -433,11 +433,8 @@ mtype_gc_init(struct ip_set *set, void (*gc)(unsigned long ul_set))
{ {
struct htype *h = set->data; struct htype *h = set->data;
init_timer(&h->gc); setup_timer(&h->gc, gc, (unsigned long)set);
h->gc.data = (unsigned long)set; mod_timer(&h->gc, jiffies + IPSET_GC_PERIOD(set->timeout) * HZ);
h->gc.function = gc;
h->gc.expires = jiffies + IPSET_GC_PERIOD(set->timeout) * HZ;
add_timer(&h->gc);
pr_debug("gc initialized, run in every %u\n", pr_debug("gc initialized, run in every %u\n",
IPSET_GC_PERIOD(set->timeout)); IPSET_GC_PERIOD(set->timeout));
} }
......
...@@ -586,11 +586,8 @@ list_set_gc_init(struct ip_set *set, void (*gc)(unsigned long ul_set)) ...@@ -586,11 +586,8 @@ list_set_gc_init(struct ip_set *set, void (*gc)(unsigned long ul_set))
{ {
struct list_set *map = set->data; struct list_set *map = set->data;
init_timer(&map->gc); setup_timer(&map->gc, gc, (unsigned long)set);
map->gc.data = (unsigned long)set; mod_timer(&map->gc, jiffies + IPSET_GC_PERIOD(set->timeout) * HZ);
map->gc.function = gc;
map->gc.expires = jiffies + IPSET_GC_PERIOD(set->timeout) * HZ;
add_timer(&map->gc);
} }
/* Create list:set type of sets */ /* Create list:set type of sets */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment