Home » Mailing lists » Devel » [PATCH][NET] Convert init_timer into setup_timer
[PATCH][NET] Convert init_timer into setup_timer [message #23140] |
Tue, 13 November 2007 13:10  |
Pavel Emelianov
Messages: 1149 Registered: September 2006
|
Senior Member |
|
|
Many-many code in the kernel initialized the timer->function
and timer->data together with calling init_timer(timer). There
is already a helper for this. Use it for networking code.
The patch is HUGE, but makes the code 130 lines shorter
(98 insertions(+), 228 deletions(-)).
Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
---
net/802/tr.c | 4 +---
net/appletalk/aarp.c | 4 +---
net/appletalk/ddp.c | 5 ++---
net/atm/lec.c | 5 ++---
net/ax25/af_ax25.c | 5 ++---
net/bluetooth/hci_conn.c | 9 ++-------
net/bluetooth/hidp/core.c | 5 +----
net/bluetooth/l2cap.c | 13 ++-----------
net/bluetooth/rfcomm/core.c | 4 +---
net/bluetooth/sco.c | 9 +--------
net/core/flow.c | 3 +--
net/core/neighbour.c | 12 +++---------
net/dccp/ccids/ccid2.c | 6 ++----
net/dccp/ccids/ccid3.c | 7 ++-----
net/dccp/timer.c | 5 ++---
net/decnet/dn_route.c | 3 +--
net/econet/af_econet.c | 3 +--
net/ieee80211/ieee80211_module.c | 5 ++---
net/ipv4/igmp.c | 14 +++++---------
net/ipv4/inet_connection_sock.c | 17 +++++------------
net/ipv4/inet_fragment.c | 5 ++---
net/ipv4/ipmr.c | 3 +--
net/ipv4/ipvs/ip_vs_conn.c | 4 +---
net/ipv4/ipvs/ip_vs_est.c | 3 +--
net/ipv4/ipvs/ip_vs_lblc.c | 5 ++---
net/ipv4/ipvs/ip_vs_lblcr.c | 5 ++---
net/ipv4/route.c | 6 ++----
net/ipv6/addrconf.c | 4 +---
net/ipv6/mcast.c | 14 +++++---------
net/irda/af_irda.c | 5 ++---
net/iucv/af_iucv.c | 9 +--------
net/llc/llc_conn.c | 20 ++++++++------------
net/llc/llc_station.c | 5 ++---
net/mac80211/sta_info.c | 5 ++---
net/netrom/nr_timer.c | 19 ++++---------------
net/rose/af_rose.c | 5 ++---
net/sched/sch_generic.c | 9 +--------
net/sched/sch_sfq.c | 4 +---
net/sctp/associola.c | 8 +++-----
net/sctp/transport.c | 13 ++++---------
net/sunrpc/sched.c | 5 ++---
net/sunrpc/xprt.c | 5 ++---
net/tipc/core.h | 4 +---
net/x25/x25_link.c | 5 +----
net/x25/x25_timer.c | 4 +---
net/xfrm/xfrm_policy.c | 5 ++---
net/xfrm/xfrm_state.c | 9 +++------
47 files changed, 98 insertions(+), 228 deletions(-)
diff --git a/net/802/tr.c b/net/802/tr.c
index a2bd0f2..d8a5386 100644
--- a/net/802/tr.c
+++ b/net/802/tr.c
@@ -641,10 +641,8 @@ struct net_device *alloc_trdev(int sizeof_priv)
static int __init rif_init(void)
{
- init_timer(&rif_timer);
rif_timer.expires = sysctl_tr_rif_timeout;
- rif_timer.data = 0L;
- rif_timer.function = rif_check_expire;
+ setup_timer(&rif_timer, rif_check_expire, 0);
add_timer(&rif_timer);
proc_net_fops_create(&init_net, "tr_rif", S_IRUGO, &rif_seq_fops);
diff --git a/net/appletalk/aarp.c b/net/appletalk/aarp.c
index 6c5c6dc..b950fb6 100644
--- a/net/appletalk/aarp.c
+++ b/net/appletalk/aarp.c
@@ -874,9 +874,7 @@ void __init aarp_proto_init(void)
aarp_dl = register_snap_client(aarp_snap_id, aarp_rcv);
if (!aarp_dl)
printk(KERN_CRIT "Unable to register AARP with SNAP.\n");
- init_timer(&aarp_timer);
- aarp_timer.function = aarp_expire_timeout;
- aarp_timer.data = 0;
+ setup_timer(&aarp_timer, aarp_expire_timeout, 0);
aarp_timer.expires = jiffies + sysctl_aarp_expiry_time;
add_timer(&aarp_timer);
register_netdevice_notifier(&aarp_notifier);
diff --git a/net/appletalk/ddp.c b/net/appletalk/ddp.c
index e0d37d6..3be55c8 100644
--- a/net/appletalk/ddp.c
+++ b/net/appletalk/ddp.c
@@ -177,10 +177,9 @@ static inline void atalk_destroy_socket(struct sock *sk)
if (atomic_read(&sk->sk_wmem_alloc) ||
atomic_read(&sk->sk_rmem_alloc)) {
- init_timer(&sk->sk_timer);
+ setup_timer(&sk->sk_timer, atalk_destroy_timer,
+ (unsigned long)sk);
sk->sk_timer.expires = jiffies + SOCK_DESTROY_TIME;
- sk->sk_timer.function = atalk_destroy_timer;
- sk->sk_timer.data = (unsigned long)sk;
add_timer(&sk->sk_timer);
} else
sock_put(sk);
diff --git a/net/atm/lec.c b/net/atm/lec.c
index 7eb1b21..0a9c426 100644
--- a/net/atm/lec.c
+++ b/net/atm/lec.c
@@ -1789,9 +1789,8 @@ static struct lec_arp_table *make_entry(struct lec_priv *priv,
}
memcpy(to_return->mac_addr, mac_addr, ETH_ALEN);
INIT_HLIST_NODE(&to_return->next);
- init_timer(&to_return->timer);
- to_return->timer.function = lec_arp_expire_arp;
- to_return->timer.data = (unsigned long)to_return;
+ setup_timer(&to_return->timer, lec_arp_expire_arp,
+ (unsigned long)to_return);
to_return->last_used = jiffies;
to_return->priv = priv;
skb_queue_head_init(&to_return->tx_wait);
diff --git a/net/ax25/af_ax25.c b/net/ax25/af_ax25.c
index 8378afd..95a19c5 100644
--- a/net/ax25/af_ax25.c
+++ b/net/ax25/af_ax25.c
@@ -318,10 +318,9 @@ void ax25_destroy_socket(ax25_cb *ax25)
if (atomic_read(&ax25->sk->sk_wmem_alloc) ||
atomic_read(&ax25->sk->sk_rmem_alloc)) {
/* Defer: outstanding buffers */
- init_timer(&ax25->dtimer);
+ setup_timer(&ax25->dtimer, ax25_destroy_timer,
+ (unsigned long)ax25);
ax25->dtimer.expires = jiffies + 2 * HZ;
- ax25->dtimer.function = ax25_destroy_timer;
- ax25->dtimer.data = (unsigned long)ax25;
add_timer(&ax25->dtimer);
} else {
struct sock *sk=ax25->sk;
diff --git a/net/bluetooth/hci_conn.c b/net/bluetooth/hci_conn.c
index 9483320..7099f74 100644
--- a/net/bluetooth/hci_conn.c
+++ b/net/bluetooth/hci_conn.c
@@ -208,13 +208,8 @@ struct hci_conn *hci_conn_add(struct hci_dev *hdev, int type, bdaddr_t *dst)
skb_queue_head_init(&conn->data_q);
- init_timer(&conn->disc_timer);
- conn->disc_timer.function = hci_conn_timeout;
- conn->disc_timer.data = (unsigned long) conn;
-
- init_timer(&conn->idle_timer);
- conn->idle_timer.function = hci_conn_idle;
- conn->idle_timer.data = (unsigned long) conn;
+ setup_timer(&conn->disc_timer, hci_conn_timeout, (unsigned long)conn);
+ setup_timer(&conn->idle_timer, hci_conn_idle, (unsigned long)conn);
atomic_set(&conn->refcnt, 0);
diff --git a/net/bluetooth/hidp/core.c b/net/bluetooth/hidp/core.c
index 4bbacdd..782a226 100644
--- a/net/bluetooth/hidp/core.c
+++ b/net/bluetooth/hidp/core.c
@@ -811,10 +811,7 @@ int hidp_add_connection(struct hidp_connadd_req *req, struct socket *ctrl_sock,
session->intr_sock = intr_sock;
session->state = BT_CONNECTED;
- init_timer(&session->timer);
-
- session->timer.function = hidp_idle_timeout;
- session->timer.data = (unsigned long) session;
+ setup_timer(&session->timer, hidp_idle_timeout, (unsigned long)session);
skb_queue_head_init(&session->ctrl_transmit);
skb_queue_head_init(&session->intr_transmit);
diff --git a/net/bluetooth/l2cap.c b/net/bluetooth/l2cap.c
index 477e052..a8811c0 100644
--- a/net/bluetooth/l2cap.c
+++ b/net/bluetooth/l2cap.c
@@ -99,13 +99,6 @@ static void l2cap_sock_clear_timer(struct sock *sk)
sk_stop_timer(sk, &sk->sk_timer);
}
-static void l2cap_sock_init_timer(struct sock *sk)
-{
- init_timer(&sk->sk_timer);
- sk->sk_timer.function = l2cap_sock_timeout;
- sk->sk_timer.data = (unsigned long)sk;
-}
-
/* ---- L2CAP channels ---- */
static struct sock *__l2cap_get_chan_by_dcid(struct l2cap_chan_list *l, u16 cid)
{
@@ -395,9 +388,7 @@ static struct l2cap_conn *l2cap_conn_add(struct hci_conn *hcon, u8 status)
conn->feat_mask = 0;
- init_timer(&conn->info_timer);
- conn->info_timer.function = l2cap_info_timeout;
- conn->info_timer.data = (unsigned long) conn;
+ setup_timer(&conn->info_timer, l2cap_info_timeout, (unsigned long)conn);
spin_lock_init(&conn->lock);
rwlock_init(&conn->chan_list.lock);
@@ -622,7 +613,7 @@ static struct sock *l2cap_sock_alloc(struct net *net, struct socket *sock, int p
sk->sk_protocol = proto;
sk->sk_state = BT_OPEN;
- l2cap_sock_init_timer(sk);
+ setup_timer(&sk->sk_timer, l2cap_sock_timeout, (unsigned long)sk);
bt_sock_link(&l2cap_sk_list, sk);
return sk;
diff --git a/net/bluetooth/rfcomm/core.c b/net/bluetooth/rfcomm/core.c
index e7ac6ba..d3e4e18 100644
--- a/net/bluetooth/rfcomm/core.c
+++ b/net/bluetooth/rfcomm/core.c
@@ -279,9 +279,7 @@ struct rfcomm_dlc *rfcomm_dlc_alloc(gfp_t prio)
if (!d)
return NULL;
- init_timer(&d->timer);
- d->timer.function = rfcomm_dlc_timeout;
- d->timer.data = (unsigned long) d;
+ setup_timer(&d->timer, rfcomm_dlc_timeout, (unsigned long)d);
skb_queue_head_init(&d->tx_queue);
spin_lock_init(&d->lock);
diff --git a/net/bluetooth/sco.c b/net/bluetooth/sco.c
index 93ad1aa..b91d3c8 100644
--- a/net/bluetooth/sco.c
+++ b/net/bluetooth/sco.c
@@ -97,13 +97,6 @@ static void sco_sock_clear_timer(struct sock *sk)
sk_stop_timer(sk, &sk->sk_timer);
}
-static void sco_sock_init_timer(struct sock *sk)
-{
- init_timer(&sk->sk_timer);
- sk->sk_timer.function = sco_sock_timeout;
- sk->sk_timer.data = (unsigned long)sk;
-}
-
/* ---- SCO connections ---- */
static struct sco_conn *sco_conn_add(struct hci_conn *hcon, __u8 status)
{
@@ -436,7 +429,7 @@ static struct sock *sco_sock_alloc(struct net *net, struct socket *sock, int pro
sk->sk_protocol = proto;
sk->sk_state = BT_OPEN;
- sco_sock_init_timer(sk);
+ setup_timer(&sk->sk_timer, sco_s
...
|
|
|
|
Re: [PATCH][NET] Convert init_timer into setup_timer [message #23143 is a reply to message #23142] |
Tue, 13 November 2007 13:43   |
Arnaldo Carvalho de M
Messages: 27 Registered: October 2007
|
Junior Member |
|
|
Em Tue, Nov 13, 2007 at 05:34:21AM -0800, David Miller escreveu:
> From: Pavel Emelyanov <xemul@openvz.org>
> Date: Tue, 13 Nov 2007 16:10:03 +0300
>
> > Many-many code in the kernel initialized the timer->function
> > and timer->data together with calling init_timer(timer). There
> > is already a helper for this. Use it for networking code.
> >
> > The patch is HUGE, but makes the code 130 lines shorter
> > (98 insertions(+), 228 deletions(-)).
> >
> > Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
>
> I have no objection to this patch, but it is 2.6.25
> material for sure.
Agreed, Pavel, if you want please stick:
Acked-by: Arnaldo Carvalho de Melo <acme@redhat.com>
- Arnaldo
|
|
|
Re: [PATCH][NET] Convert init_timer into setup_timer [message #23144 is a reply to message #23143] |
Tue, 13 November 2007 14:02   |
Pavel Emelianov
Messages: 1149 Registered: September 2006
|
Senior Member |
|
|
Arnaldo Carvalho de Melo wrote:
> Em Tue, Nov 13, 2007 at 05:34:21AM -0800, David Miller escreveu:
>> From: Pavel Emelyanov <xemul@openvz.org>
>> Date: Tue, 13 Nov 2007 16:10:03 +0300
>>
>>> Many-many code in the kernel initialized the timer->function
>>> and timer->data together with calling init_timer(timer). There
>>> is already a helper for this. Use it for networking code.
>>>
>>> The patch is HUGE, but makes the code 130 lines shorter
>>> (98 insertions(+), 228 deletions(-)).
>>>
>>> Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
>> I have no objection to this patch, but it is 2.6.25
>> material for sure.
OK.
> Agreed, Pavel, if you want please stick:
>
> Acked-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Thanks! :)
> - Arnaldo
>
|
|
|
Re: [PATCH][NET] Convert init_timer into setup_timer [message #23165 is a reply to message #23143] |
Wed, 14 November 2007 05:14  |
davem
Messages: 463 Registered: February 2006
|
Senior Member |
|
|
From: "Arnaldo Carvalho de Melo" <acme@redhat.com>
Date: Tue, 13 Nov 2007 11:43:40 -0200
> Em Tue, Nov 13, 2007 at 05:34:21AM -0800, David Miller escreveu:
> > From: Pavel Emelyanov <xemul@openvz.org>
> > Date: Tue, 13 Nov 2007 16:10:03 +0300
> >
> > > Many-many code in the kernel initialized the timer->function
> > > and timer->data together with calling init_timer(timer). There
> > > is already a helper for this. Use it for networking code.
> > >
> > > The patch is HUGE, but makes the code 130 lines shorter
> > > (98 insertions(+), 228 deletions(-)).
> > >
> > > Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
> >
> > I have no objection to this patch, but it is 2.6.25
> > material for sure.
>
> Agreed, Pavel, if you want please stick:
>
> Acked-by: Arnaldo Carvalho de Melo <acme@redhat.com>
No need, I've applied it to net-2.6.25 :-)
|
|
|
Goto Forum:
Current Time: Sun May 28 02:25:28 GMT 2023
Total time taken to generate the page: 0.01315 seconds
|