Message ID | 1328125319-5205-10-git-send-email-paulmck@linux.vnet.ibm.com |
---|---|
State | Superseded |
Headers | show |
From: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com> Date: Wed, 1 Feb 2012 11:41:28 -0800 > From: "Paul E. McKenney" <paul.mckenney@linaro.org> > > The call_rcu() in do_ip_setsockopt() invokes opt_kfree_rcu(), which just > calls kfree(). So convert the call_rcu() to kfree_rcu(), which allows > opt_kfree_rcu() to be eliminated. > > Signed-off-by: Paul E. McKenney <paul.mckenney@linaro.org> > Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com> Acked-by: David S. Miller <davem@davemloft.net>
On Wed, Feb 01, 2012 at 11:41:28AM -0800, Paul E. McKenney wrote: > From: "Paul E. McKenney" <paul.mckenney@linaro.org> > > The call_rcu() in do_ip_setsockopt() invokes opt_kfree_rcu(), which just > calls kfree(). So convert the call_rcu() to kfree_rcu(), which allows > opt_kfree_rcu() to be eliminated. This and patch 9/41 have exactly the same subject line. Consider adding the name of the function you replaced to each one, to disambiguate them. - Josh Triplett
On Wed, Feb 01, 2012 at 04:24:03PM -0800, Josh Triplett wrote: > On Wed, Feb 01, 2012 at 11:41:28AM -0800, Paul E. McKenney wrote: > > From: "Paul E. McKenney" <paul.mckenney@linaro.org> > > > > The call_rcu() in do_ip_setsockopt() invokes opt_kfree_rcu(), which just > > calls kfree(). So convert the call_rcu() to kfree_rcu(), which allows > > opt_kfree_rcu() to be eliminated. > > This and patch 9/41 have exactly the same subject line. Consider > adding the name of the function you replaced to each one, to > disambiguate them. Good point, will also add function names to the other three kfree_rcu() patches. Thanx, Paul
diff --git a/net/ipv4/ip_sockglue.c b/net/ipv4/ip_sockglue.c index 8aa87c1..5343d9a 100644 --- a/net/ipv4/ip_sockglue.c +++ b/net/ipv4/ip_sockglue.c @@ -445,11 +445,6 @@ out: } -static void opt_kfree_rcu(struct rcu_head *head) -{ - kfree(container_of(head, struct ip_options_rcu, rcu)); -} - /* * Socket option code for IP. This is the end of the line after any * TCP,UDP etc options on an IP socket. @@ -525,7 +520,7 @@ static int do_ip_setsockopt(struct sock *sk, int level, } rcu_assign_pointer(inet->inet_opt, opt); if (old) - call_rcu(&old->rcu, opt_kfree_rcu); + kfree_rcu(old, rcu); break; } case IP_PKTINFO: