[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.LFD.2.00.1110050133290.2388@ja.ssi.bg>
Date: Wed, 5 Oct 2011 01:51:31 +0300 (EEST)
From: Julian Anastasov <ja@....bg>
To: Hans Schillstrom <hans.schillstrom@...csson.com>
cc: horms@...ge.net.au, wensong@...ux-vs.org,
lvs-devel@...r.kernel.org, netdev@...r.kernel.org,
netfilter-devel@...r.kernel.org, hans@...illstrom.com
Subject: Re: [PATCH 1/2] fix lockdep warning
Hello,
On Mon, 3 Oct 2011, Hans Schillstrom wrote:
> From: Hans Schillstrom <hans@...illstrom.com>
>
> rs_lock needs a key to make lock dep happy.
>
> Signed-off-by: Hans Schillstrom <hans.schillstrom@...csson.com>
>
> diff --git a/net/netfilter/ipvs/ip_vs_ctl.c b/net/netfilter/ipvs/ip_vs_ctl.c
> index 2b771dc..a1af72f 100644
> --- a/net/netfilter/ipvs/ip_vs_ctl.c
> +++ b/net/netfilter/ipvs/ip_vs_ctl.c
> @@ -57,6 +57,7 @@ static DEFINE_MUTEX(__ip_vs_mutex);
>
> /* lock for service table */
> static DEFINE_RWLOCK(__ip_vs_svc_lock);
> +static struct lock_class_key ip_vs_rs_key;
ip_vs_rs_key remains unused without debugging. I don't
remember the reason why IPVS is the only place that calls
__rwlock_init instead of rwlock_init. Can we use rwlock_init?
> /* sysctl variables */
>
> @@ -3680,6 +3681,7 @@ int __net_init ip_vs_control_net_init(struct net *net)
> struct netns_ipvs *ipvs = net_ipvs(net);
>
> ipvs->rs_lock = __RW_LOCK_UNLOCKED(ipvs->rs_lock);
> + __rwlock_init(&ipvs->rs_lock, "ipvs->rs_lock", &ip_vs_rs_key);
>
> /* Initialize rs_table */
> for (idx = 0; idx < IP_VS_RTAB_SIZE; idx++)
> --
> 1.7.4.4
Regards
--
Julian Anastasov <ja@....bg>
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists