All of lore.kernel.org
 help / color / mirror / Atom feed
From: Arvid Brodin <arvid.brodin@alten.se>
To: Wei Yongjun <weiyj.lk@gmail.com>, <davem@davemloft.net>
Cc: <yongjun_wei@trendmicro.com.cn>, <netdev@vger.kernel.org>
Subject: Re: [PATCH -next] net/hsr: using kfree_rcu() to simplify the code
Date: Tue, 17 Dec 2013 01:56:01 +0100	[thread overview]
Message-ID: <52AFA121.9000706@alten.se> (raw)
In-Reply-To: <CAPgLHd_doYrTYAHyR4OrDz9B84Abh1H0MBvmi8XfCqAEVFyS_Q@mail.gmail.com>

Looks good to me, feel free to add 

Acked-by: Arvid Brodin <arvid.brodin@alten.se>

Nice to have others look at the code! :)


On 2013-12-16 07:05, Wei Yongjun wrote:
> From: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
> 
> The callback function of call_rcu() just calls a kfree(), so we
> can use kfree_rcu() instead of call_rcu() + callback function.
> 
> Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
> ---
>  net/hsr/hsr_framereg.c | 13 ++++---------
>  1 file changed, 4 insertions(+), 9 deletions(-)
> 
> diff --git a/net/hsr/hsr_framereg.c b/net/hsr/hsr_framereg.c
> index 003f5bb..a758963 100644
> --- a/net/hsr/hsr_framereg.c
> +++ b/net/hsr/hsr_framereg.c
> @@ -127,11 +127,6 @@ int hsr_create_self_node(struct list_head *self_node_db,
>  	return 0;
>  }
>  
> -static void node_entry_reclaim(struct rcu_head *rh)
> -{
> -	kfree(container_of(rh, struct node_entry, rcu_head));
> -}
> -
>  
>  /* Add/merge node to the database of nodes. 'skb' must contain an HSR
>   * supervision frame.
> @@ -175,7 +170,7 @@ struct node_entry *hsr_merge_node(struct hsr_priv *hsr_priv,
>  	if (node && !ether_addr_equal(node->MacAddressA, hsr_sp->MacAddressA)) {
>  		/* Node has changed its AddrA, frame was received from SlaveB */
>  		list_del_rcu(&node->mac_list);
> -		call_rcu(&node->rcu_head, node_entry_reclaim);
> +		kfree_rcu(node, rcu_head);
>  		node = NULL;
>  	}
>  
> @@ -183,7 +178,7 @@ struct node_entry *hsr_merge_node(struct hsr_priv *hsr_priv,
>  	    !ether_addr_equal(node->MacAddressB, hsr_ethsup->ethhdr.h_source)) {
>  		/* Cables have been swapped */
>  		list_del_rcu(&node->mac_list);
> -		call_rcu(&node->rcu_head, node_entry_reclaim);
> +		kfree_rcu(node, rcu_head);
>  		node = NULL;
>  	}
>  
> @@ -192,7 +187,7 @@ struct node_entry *hsr_merge_node(struct hsr_priv *hsr_priv,
>  	    !ether_addr_equal(node->MacAddressA, hsr_ethsup->ethhdr.h_source)) {
>  		/* Cables have been swapped */
>  		list_del_rcu(&node->mac_list);
> -		call_rcu(&node->rcu_head, node_entry_reclaim);
> +		kfree_rcu(node, rcu_head);
>  		node = NULL;
>  	}
>  
> @@ -416,7 +411,7 @@ void hsr_prune_nodes(struct hsr_priv *hsr_priv)
>  			hsr_nl_nodedown(hsr_priv, node->MacAddressA);
>  			list_del_rcu(&node->mac_list);
>  			/* Note that we need to free this entry later: */
> -			call_rcu(&node->rcu_head, node_entry_reclaim);
> +			kfree_rcu(node, rcu_head);
>  		}
>  	}
>  	rcu_read_unlock();
> 


-- 
Arvid Brodin | Consultant (Linux)
P: +46-8-56254286 | M: +46-70-9714286
ALTEN | Knarrarnäsgatan 7 | SE-164 40 Kista | Sweden
arvid.brodin@alten.se | www.alten.se/en/

  reply	other threads:[~2013-12-17  1:05 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-12-16  6:05 [PATCH -next] net/hsr: using kfree_rcu() to simplify the code Wei Yongjun
2013-12-17  0:56 ` Arvid Brodin [this message]
2013-12-17 21:32 ` David Miller

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=52AFA121.9000706@alten.se \
    --to=arvid.brodin@alten.se \
    --cc=davem@davemloft.net \
    --cc=netdev@vger.kernel.org \
    --cc=weiyj.lk@gmail.com \
    --cc=yongjun_wei@trendmicro.com.cn \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.