[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-id: <48DAA71C.5030000@acm.org>
Date: Wed, 24 Sep 2008 15:46:20 -0500
From: Corey Minyard <minyard@....org>
To: Stephen Hemminger <shemminger@...tta.com>
Cc: Linux Kernel <linux-kernel@...r.kernel.org>, netdev@...r.kernel.org
Subject: Re: [PATCH 1/1] Use RCU for the UDP hash lock
Stephen Hemminger wrote:
>
>>
>> static inline void udp_lib_unhash(struct sock *sk)
>> {
>> - write_lock_bh(&udp_hash_lock);
>> - if (sk_del_node_init(sk)) {
>> + spin_lock_bh(&udp_hash_wlock);
>> + if (sk_del_node_rcu(sk)) {
>> inet_sk(sk)->num = 0;
>> sock_prot_inuse_add(sock_net(sk), sk->sk_prot, -1);
>> }
>> - write_unlock_bh(&udp_hash_lock);
>> + spin_unlock_bh(&udp_hash_wlock);
>> + synchronize_sched();
>>
>
> Could this be synchronize_rcu? You are using rcu_read_lock() protected sections.
>
I meant to comment on that. I wasn't sure which to use, so I chose the
more conservative approach. synchronize_rcu() might be appropriate.
-corey
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists