Received: by 2002:a05:7412:798b:b0:fc:a2b0:25d7 with SMTP id fb11csp379639rdb; Thu, 22 Feb 2024 06:41:37 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCXH7iDPzREpptNVwHDXnbfb6uBGv8+JO9D+p3AAFbZa8+1JVDYjNrp+1PhcWkyZN8SGMpXirFt948nro/BVpWSxiz+UmwDW3TJrzKuQOg== X-Google-Smtp-Source: AGHT+IHqkAHR/UkmQvJrPCoQOnybZ1lbU+HWc8BHJoTrqF6NJCNSoDFe48Ce00+zlF8b3+Hpklfk X-Received: by 2002:a17:902:e80b:b0:1dc:e6d:a403 with SMTP id u11-20020a170902e80b00b001dc0e6da403mr10625654plg.32.1708612897647; Thu, 22 Feb 2024 06:41:37 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1708612897; cv=pass; d=google.com; s=arc-20160816; b=koDIO/5m4tt1TC38Z4vz6HHIer263+IjyE5rJ8hJW0DpRghTOQv+Z+tzGWxvhaC1Fv 95p/W99TsAAJ5ODqDX4/wSHX/RW9HBXhw0JXI93uG7Q4M1xV0Lcfwn2Rs1gTE1YjyysM 6Mv3LlSr6Lo9FjnjuQbK3ehmB+XPVT890y3g67GOA1FvgwDe4UcgjBmlrrx1PKXmZgqz UbNPUBGIksHKggeN9gTNMPa80X9PqpFpk2RhbMUNIONu+uw3s8DRZwPVTU51yvc2slDB xqHQG/irRG1Upp4i/9HJ1aHOmtmTDbGLbLH3WNlkzgk6sEmd+PkzSZT/civsHIdi8lu3 QuWw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:message-id:date:subject:cc:to :from; bh=gYMQtEKjt0kzQOUifzkf8vblM5DsGEnUyHabUP9ToJk=; fh=1Sp3gkC67D7Lo/cQuMfPiKRg7ImBvE+HKzX1tNbRMnQ=; b=F30xIt6oHJzQeDLEEpn0NLpqgsht0J/wrst6l4ZsrBFeVNhLA335qKmmYMSppaMknl IS1XHv060LpZxQrP2S3Fd8ERIXEzo7TnlPONCzHcM91EZBvjoALN0dByvEx7wwtmuW1R j5klhAzngvIIQs1aJXP9FuPP26nbz3PdOIdhgD0vvTJKgDH4+XYRZWG0DRaVsrW9zpdq g6ORw+mB59koeoKEypWqRU6D7J1iGbE3tIRHHdmEQPC9lGEfeiS/vEZHs2ujroZNjWRu IC7wfIiA5w1/uKOWeNc0cQOv5JJpvsSD/WS9J/+y0W4fr5mjMsNSYlhXiWPftLjjUK30 K5vQ==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; arc=pass (i=1 spf=pass spfdomain=gmail.com); spf=pass (google.com: domain of linux-kernel+bounces-76717-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-76717-linux.lists.archive=gmail.com@vger.kernel.org" Return-Path: Received: from sv.mirrors.kernel.org (sv.mirrors.kernel.org. [2604:1380:45e3:2400::1]) by mx.google.com with ESMTPS id c4-20020a170903234400b001db3cdb3863si10341027plh.547.2024.02.22.06.41.37 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 22 Feb 2024 06:41:37 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-76717-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) client-ip=2604:1380:45e3:2400::1; Authentication-Results: mx.google.com; arc=pass (i=1 spf=pass spfdomain=gmail.com); spf=pass (google.com: domain of linux-kernel+bounces-76717-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45e3:2400::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-76717-linux.lists.archive=gmail.com@vger.kernel.org" Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sv.mirrors.kernel.org (Postfix) with ESMTPS id 5299E287702 for ; Thu, 22 Feb 2024 14:41:37 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 26017148313; Thu, 22 Feb 2024 14:41:29 +0000 (UTC) Received: from mail-ej1-f52.google.com (mail-ej1-f52.google.com [209.85.218.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E4009131720; Thu, 22 Feb 2024 14:41:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.218.52 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708612888; cv=none; b=PGygAs33xKdHYIfQUBlGgbA8m+dABwhIipbGbxTkNsllwHKC/cqrIdzREI1OoJRea/yxCPMEFhAISXyp+QWoS04vz/zBcijtBbPKtQ8BXSNciW8NFgS0HCxVOKgTlbKu9hesEVloVRdbkekzrdMKcv1sWvJgde0F80cB3OvDvQg= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708612888; c=relaxed/simple; bh=Dh6zs2Kg5ny/Fs0knD5Ran/0OjSXvnBAh0w6XIv3o9o=; h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=DSEnuXD9rWrpOSDYsS6DvkeCt2LR1iQAQD5rnN3t5SuHAtM/vRXUAhaNcLrR0WA41g69xd2+AL19ucHMtegvzy2hYJjjxJ3rGMMigjczXz34Z2jk9vxJzPBNrP7yW/yPvsMu0RUDa66k+jzeIarMFhOHe4NceimxeuOSnXAjkNs= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=debian.org; spf=pass smtp.mailfrom=gmail.com; arc=none smtp.client-ip=209.85.218.52 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=debian.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-ej1-f52.google.com with SMTP id a640c23a62f3a-a26ed1e05c7so1107173366b.2; Thu, 22 Feb 2024 06:41:26 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1708612885; x=1709217685; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=gYMQtEKjt0kzQOUifzkf8vblM5DsGEnUyHabUP9ToJk=; b=tKQbfjy/JlkAxbYGGiqcwRUQponHdX3jaSps+OuXvEPKx57GbgdSWuHCUQVMjT0UOf tJKHcQs8+8Nxwd3xmQM032HPB/rTE4bjyqSSw/gMmR5zLS3BGtdex2YEdJ9eZpXPDUH1 TzAn3WB2rv08jINr0nRb5szhJ5PnBBFveh83kWa2nBdHzj0VA3GW2deecH1rW7DCWtRB LCySEd3a1eRnEdY2DcyRmr38mhIZ3j4HGcQoq0yCZ0WIc0BM6+oIvS3sx7jTD5chL0ic GaoAmajIH9KcpNBU+opi76qpiF2dAsiNt5Q07qpYgJk4DKSc2/s8Ik5auBrVK3hrZEx4 tNVw== X-Forwarded-Encrypted: i=1; AJvYcCX1DObZAs8iGnHYjq7T/PH3ggH5Nutfg6DTSxKHqLJr9hLPQ3+a3JNAmd5/I2CY4GGHRH/YItOBDK4HEX1UG5ZZkXIrFprsLpelYlcN X-Gm-Message-State: AOJu0YwqTTR2lvHJxc2GO430CffGYNgDUSf0mfpDqNyKCjaeAIdE7IUA NgtROfCNQQPKTCjYrk1/c6iBMtu4TLSxLthrFmkKYojbWiOfPuyW X-Received: by 2002:a17:906:d7b0:b0:a3e:549f:eeff with SMTP id pk16-20020a170906d7b000b00a3e549feeffmr8985316ejb.7.1708612885039; Thu, 22 Feb 2024 06:41:25 -0800 (PST) Received: from localhost (fwdproxy-lla-005.fbsv.net. [2a03:2880:30ff:5::face:b00c]) by smtp.gmail.com with ESMTPSA id an3-20020a17090656c300b00a3e77f93ea9sm4533954ejc.98.2024.02.22.06.41.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 22 Feb 2024 06:41:24 -0800 (PST) From: Breno Leitao To: kuba@kernel.org, davem@davemloft.net, pabeni@redhat.com, edumazet@google.com, Steffen Klassert , Herbert Xu Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org, horms@kernel.org Subject: [PATCH net-next] xfrm: Do not allocate stats in the driver Date: Thu, 22 Feb 2024 06:41:17 -0800 Message-Id: <20240222144117.1370101-1-leitao@debian.org> X-Mailer: git-send-email 2.39.3 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit 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 xfrm driver and leverage the network core allocation. Signed-off-by: Breno Leitao --- net/xfrm/xfrm_interface_core.c | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/net/xfrm/xfrm_interface_core.c b/net/xfrm/xfrm_interface_core.c index dafefef3cf51..cc19aa7fdc11 100644 --- a/net/xfrm/xfrm_interface_core.c +++ b/net/xfrm/xfrm_interface_core.c @@ -240,7 +240,6 @@ static void xfrmi_dev_free(struct net_device *dev) struct xfrm_if *xi = netdev_priv(dev); gro_cells_destroy(&xi->gro_cells); - free_percpu(dev->tstats); } static int xfrmi_create(struct net_device *dev) @@ -749,6 +748,7 @@ static void xfrmi_dev_setup(struct net_device *dev) dev->flags = IFF_NOARP; dev->needs_free_netdev = true; dev->priv_destructor = xfrmi_dev_free; + dev->pcpu_stat_type = NETDEV_PCPU_STAT_TSTATS; netif_keep_dst(dev); eth_broadcast_addr(dev->broadcast); @@ -765,15 +765,9 @@ static int xfrmi_dev_init(struct net_device *dev) struct net_device *phydev = __dev_get_by_index(xi->net, xi->p.link); int err; - dev->tstats = netdev_alloc_pcpu_stats(struct pcpu_sw_netstats); - if (!dev->tstats) - return -ENOMEM; - err = gro_cells_init(&xi->gro_cells, dev); - if (err) { - free_percpu(dev->tstats); + if (err) return err; - } dev->features |= NETIF_F_LLTX; dev->features |= XFRMI_FEATURES; -- 2.39.3