[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <nrphi5hjfgpzhkfjsvskxhis6uqc3ham6u5x3c5imw2slkombb@phutaqxg23io>
Date: Mon, 26 Feb 2024 09:27:04 +0100
From: Stefano Garzarella <sgarzare@...hat.com>
To: Breno Leitao <leitao@...ian.org>
Cc: kuba@...nel.org, davem@...emloft.net, pabeni@...hat.com,
edumazet@...gle.com, netdev@...r.kernel.org, linux-kernel@...r.kernel.org,
horms@...nel.org,
"open list:VM SOCKETS (AF_VSOCK)" <virtualization@...ts.linux.dev>
Subject: Re: [PATCH net-next 1/2] net/vsockmon: Leverage core stats allocator
On Fri, Feb 23, 2024 at 03:58:37AM -0800, 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.
>
>Remove the allocation in the vsockmon driver and leverage the network
>core allocation instead.
>
>Signed-off-by: Breno Leitao <leitao@...ian.org>
>---
> drivers/net/vsockmon.c | 16 +---------------
> 1 file changed, 1 insertion(+), 15 deletions(-)
Thanks for this patch!
Reviewed-by: Stefano Garzarella <sgarzare@...hat.com>
>
>diff --git a/drivers/net/vsockmon.c b/drivers/net/vsockmon.c
>index b1bb1b04b664..a0b4dca36baf 100644
>--- a/drivers/net/vsockmon.c
>+++ b/drivers/net/vsockmon.c
>@@ -13,19 +13,6 @@
> #define DEFAULT_MTU (VIRTIO_VSOCK_MAX_PKT_BUF_SIZE + \
> sizeof(struct af_vsockmon_hdr))
>
>-static int vsockmon_dev_init(struct net_device *dev)
>-{
>- dev->lstats = netdev_alloc_pcpu_stats(struct pcpu_lstats);
>- if (!dev->lstats)
>- return -ENOMEM;
>- return 0;
>-}
>-
>-static void vsockmon_dev_uninit(struct net_device *dev)
>-{
>- free_percpu(dev->lstats);
>-}
>-
> struct vsockmon {
> struct vsock_tap vt;
> };
>@@ -79,8 +66,6 @@ static int vsockmon_change_mtu(struct net_device *dev, int new_mtu)
> }
>
> static const struct net_device_ops vsockmon_ops = {
>- .ndo_init = vsockmon_dev_init,
>- .ndo_uninit = vsockmon_dev_uninit,
> .ndo_open = vsockmon_open,
> .ndo_stop = vsockmon_close,
> .ndo_start_xmit = vsockmon_xmit,
>@@ -112,6 +97,7 @@ static void vsockmon_setup(struct net_device *dev)
> dev->flags = IFF_NOARP;
>
> dev->mtu = DEFAULT_MTU;
>+ dev->pcpu_stat_type = NETDEV_PCPU_STAT_LSTATS;
> }
>
> static struct rtnl_link_ops vsockmon_link_ops __read_mostly = {
>--
>2.39.3
>
Powered by blists - more mailing lists