[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <8b013d18-2568-46d5-a808-ce9cc1b2ff98@gmail.com>
Date: Mon, 11 Mar 2024 12:46:42 +0900
From: Taehee Yoo <ap420073@...il.com>
To: Breno Leitao <leitao@...ian.org>, "David S. Miller"
<davem@...emloft.net>, Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>
Cc: netdev@...r.kernel.org, linux-kernel@...r.kernel.org, horms@...nel.org,
dsahern@...nel.org
Subject: Re: [PATCH net-next 1/2] net: amt: Move stats allocation to core
On 3/9/24 1:26 AM, Breno Leitao wrote:
> With commit 34d21de99cea9 ("net: Move {l,t,d}stats allocation to core and
> convert veth & vrf"), stats allocation could be done on net core instead
> of this driver.
>
> With this new approach, the driver doesn't have to bother with error
> handling (allocation failure checking, making sure free happens in the
> right spot, etc). This is core responsibility now.
>
> Move amt driver to leverage the core allocation.
>
> Signed-off-by: Breno Leitao <leitao@...ian.org>
> ---
> drivers/net/amt.c | 9 ++-------
> 1 file changed, 2 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/net/amt.c b/drivers/net/amt.c
> index 68e79b1272f6..cb31d1990660 100644
> --- a/drivers/net/amt.c
> +++ b/drivers/net/amt.c
> @@ -3063,15 +3063,10 @@ static int amt_dev_init(struct net_device *dev)
> int err;
>
> amt->dev = dev;
> - dev->tstats = netdev_alloc_pcpu_stats(struct pcpu_sw_netstats);
> - if (!dev->tstats)
> - return -ENOMEM;
>
> err = gro_cells_init(&amt->gro_cells, dev);
> - if (err) {
> - free_percpu(dev->tstats);
> + if (err)
> return err;
> - }
>
> return 0;
> }
> @@ -3081,7 +3076,6 @@ static void amt_dev_uninit(struct net_device *dev)
> struct amt_dev *amt = netdev_priv(dev);
>
> gro_cells_destroy(&amt->gro_cells);
> - free_percpu(dev->tstats);
> }
>
> static const struct net_device_ops amt_netdev_ops = {
> @@ -3111,6 +3105,7 @@ static void amt_link_setup(struct net_device *dev)
> dev->hw_features |= NETIF_F_SG | NETIF_F_HW_CSUM;
> dev->hw_features |= NETIF_F_FRAGLIST | NETIF_F_RXCSUM;
> dev->hw_features |= NETIF_F_GSO_SOFTWARE;
> + dev->pcpu_stat_type = NETDEV_PCPU_STAT_TSTATS;
> eth_hw_addr_random(dev);
> eth_zero_addr(dev->broadcast);
> ether_setup(dev);
Reviewed-by: Taehee Yoo <ap420073@...il.com>
Powered by blists - more mailing lists