Re: [PATCH 01/36] net,rcu: convert call_rcu(free_dm_hw_stat) tokfree_rcu()

From: Neil Horman
Date: Fri Mar 18 2011 - 11:26:02 EST


On Fri, Mar 18, 2011 at 11:39:43AM +0800, Lai Jiangshan wrote:
>
>
> The rcu callback free_dm_hw_stat() just calls a kfree(),
> so we use kfree_rcu() instead of the call_rcu(free_dm_hw_stat).
>
> Signed-off-by: Lai Jiangshan <laijs@xxxxxxxxxxxxxx>
Acked-by: Neil Horman <nhorman@xxxxxxxxxxxxx>

> ---
> net/core/drop_monitor.c | 12 ++----------
> 1 files changed, 2 insertions(+), 10 deletions(-)
>
> diff --git a/net/core/drop_monitor.c b/net/core/drop_monitor.c
> index 36e603c..32365e7 100644
> --- a/net/core/drop_monitor.c
> +++ b/net/core/drop_monitor.c
> @@ -207,14 +207,6 @@ static void trace_napi_poll_hit(void *ignore, struct napi_struct *napi)
> rcu_read_unlock();
> }
>
> -
> -static void free_dm_hw_stat(struct rcu_head *head)
> -{
> - struct dm_hw_stat_delta *n;
> - n = container_of(head, struct dm_hw_stat_delta, rcu);
> - kfree(n);
> -}
> -
> static int set_all_monitor_traces(int state)
> {
> int rc = 0;
> @@ -245,7 +237,7 @@ static int set_all_monitor_traces(int state)
> list_for_each_entry_safe(new_stat, temp, &hw_stats_list, list) {
> if (new_stat->dev == NULL) {
> list_del_rcu(&new_stat->list);
> - call_rcu(&new_stat->rcu, free_dm_hw_stat);
> + kfree_rcu(new_stat, rcu);
> }
> }
> break;
> @@ -314,7 +306,7 @@ static int dropmon_net_event(struct notifier_block *ev_block,
> new_stat->dev = NULL;
> if (trace_state == TRACE_OFF) {
> list_del_rcu(&new_stat->list);
> - call_rcu(&new_stat->rcu, free_dm_hw_stat);
> + kfree_rcu(new_stat, rcu);
> break;
> }
> }
> --
> 1.7.4
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/