From nobody Sun Feb 8 05:59:44 2026 Received: from mail-pg1-f173.google.com (mail-pg1-f173.google.com [209.85.215.173]) (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 63589376BF4 for ; Thu, 22 Jan 2026 18:51:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.173 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769107889; cv=none; b=cg+Wb0A24oVT77KKCoFyKp1hek/ikAD38sr47R1+SzXoiQ/Bt8ShSw7CqBBpoQZROTBgSvUT+wantRjxD81/PDvFl5IyhquSP6jD4Cmrq7RApv08iY1S7eQVyWq1ad2Ye2Z7HIMjkOvrRdJRso776ayLNXeSSixoTk9EYkAf8nU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769107889; c=relaxed/simple; bh=CGY3xTEUV2f2ErVVQRgiVBP18MvJrXYzsIOsVkiOrrw=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=kUXnY0OIOIRL90X8L9h+CRhR8QxDHkmz1osdxLIcbD8DLUch9rzpj+mEugpYA4D8N5qswFVuhfKwwtDATCFrpWeOgA9dQ8DmZphlHsneTYdkhtqkCU23ZuEAA9eLzHmcEGqLlfjNO0w4BxhJ8PpYm6/ZpKJxv1jEm1W66/vTDZE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=bk+pFFPE; arc=none smtp.client-ip=209.85.215.173 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="bk+pFFPE" Received: by mail-pg1-f173.google.com with SMTP id 41be03b00d2f7-c05d66dbab2so833083a12.0 for ; Thu, 22 Jan 2026 10:51:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1769107884; x=1769712684; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=4/X3ZC+jo4Q9uRVB8iuq+jnZRRd9l82X7BVIQyuAX2s=; b=bk+pFFPEeLscjvgVVJyh1986EFgmdwhHTeLlQMF4xnWAB+0A1iPTv/NVg6Ai9GLtyk gnmuXi/UEoeOsE8ekdwpDP91I1cHUl9QgninmzhbFjyuDzt5ZXnLNhCmxpF3a9iYTX3n I8kMezcya6IIibGzVEnt75IarJTGYCQIF33yXZvgwtbD+eHrm4uT1hjCwpSTvORa+mz4 +XWgyAcVnQj8SZHtrSUH/9SR3Y8eeZF8UR08xuBiRyHUzWXndUPymE/ww1cSwRFzmDU1 SRQ15XK+EHs4JTuN0fDqtO9X6USFSH+R7wbLLRcROOtelQ0rrZRvtgUrdmD+6Gfyjb0t vSXw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1769107884; x=1769712684; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=4/X3ZC+jo4Q9uRVB8iuq+jnZRRd9l82X7BVIQyuAX2s=; b=sWwcnOtWb72W0J1JnIbOj59sbpagxVGfDh0O1uantnpz1k0+4zDPK17CLjxwV3JfuU XFedLSEh+89SwCZZWhMTLXTr4JJHd4pGy7O3vSIzbv8k5Z4hCAKBs9a71MW2jnyGVp15 3MDNvWWy4/bHx17Z7bj6mM2mTUN+wVybjWEQfFt7NRA+ESpdzedD5JMcGaJ7iOBbZPVW Om+SgeC0I/UGCh8S4o9AGzqRUiI2Fh21bHesyDfCfYnwueXk9n1dtB+sGcUHEGjC6/Sc BySuM/cGLm2wFcoC34CY5Ajg9SvLtdrZL2+aM+SWr3M/9Hiuzvlroe51tL93bHIL+Vza WraQ== X-Forwarded-Encrypted: i=1; AJvYcCWRZxGoOpwoE/AhdMhqKxcmkYKZCfm7kHEDVh/9jB/e99ZD1QcDd8unxv/XA1G28VClvGq+WWUu1f1RES4=@vger.kernel.org X-Gm-Message-State: AOJu0YyAoP1DkyuMMBlYItfoW3qLmFBPsDY9pT4s7xNtAq2Y/xpolwqE auXORaDlE+HtOWNvk4ue+DLziPN34TDuNwDcKhNCt+nGYrl2CLIywMCQ X-Gm-Gg: AZuq6aL3NwFde3XByI4G1SO0uMkqStp6jX5HS9Mut8Vo6sjkFKG/o501mMmUk7TBszO vVaXfdmVvQdsfGUSvlroC+fPlx8Y4XxCZb44rdmqJtQWDczW1DhLFwg2rPQq1y5eVCiraGM9wu+ yyk4WoPvDqKdkDhr7W9/oXlU9sdIZHGVRwiWQ9P09tWXV9YAq1QKoNKKdXU5q5i0LxCTywyDWhO c1dBBiax40QLHxQWcWBW4X+5CYnIA0l1omVfBUQ3MDJhdrvjDFqc1Q0XKruHODDh+6rzIVx84Nm rBLqDArb8faTAz+7yIHRy049mp54QZobAMbPkAlhneZo9cfzWCDGk0vJ0dZsqI3WWUQA2HG9ZM+ ZlKBTQZyEJTxoaCVuyMTn47ZIYNTjg9g1RL+O6VCU7uju+wLqTcnHrdD2QIc0cmmIvfpMBl/oHT DHgYnkBJWR9Yu2aVw5z2wb2Tp+ZiVyGApK3Frlt7j056NsNiO09N/HcSKUAdCrjf8e X-Received: by 2002:a05:6a21:50b:b0:366:14b0:1a42 with SMTP id adf61e73a8af0-38e6f83d830mr472672637.80.1769107883534; Thu, 22 Jan 2026 10:51:23 -0800 (PST) Received: from d.home.mmyangfl.tk ([2001:19f0:8001:1644:5400:5ff:fe3e:12b1]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-8231876fd1fsm72761b3a.69.2026.01.22.10.51.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 22 Jan 2026 10:51:23 -0800 (PST) From: David Yang To: netdev@vger.kernel.org Cc: David Yang , Lino Sanfilippo , Andrew Lunn , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , linux-kernel@vger.kernel.org Subject: [PATCH net-next] net: alacritech: Use u64_stats_t with u64_stats_sync properly Date: Fri, 23 Jan 2026 02:51:07 +0800 Message-ID: <20260122185113.2760355-1-mmyangfl@gmail.com> X-Mailer: git-send-email 2.51.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" On 64bit arches, struct u64_stats_sync is empty and provides no help against load/store tearing. Convert to u64_stats_t to ensure atomic operations. Signed-off-by: David Yang --- drivers/net/ethernet/alacritech/slic.h | 50 +++++++++++------------ drivers/net/ethernet/alacritech/slicoss.c | 8 ++-- 2 files changed, 29 insertions(+), 29 deletions(-) diff --git a/drivers/net/ethernet/alacritech/slic.h b/drivers/net/ethernet/= alacritech/slic.h index 82071d0e5f7f..f5bb2d9a61be 100644 --- a/drivers/net/ethernet/alacritech/slic.h +++ b/drivers/net/ethernet/alacritech/slic.h @@ -284,7 +284,7 @@ #define SLIC_INC_STATS_COUNTER(st, counter) \ do { \ u64_stats_update_begin(&(st)->syncp); \ - (st)->counter++; \ + u64_stats_inc(&(st)->counter); \ u64_stats_update_end(&(st)->syncp); \ } while (0) =20 @@ -293,7 +293,7 @@ do { \ unsigned int start; \ do { \ start =3D u64_stats_fetch_begin(&(st)->syncp); \ - newst =3D (st)->counter; \ + newst =3D u64_stats_read(&(st)->counter); \ } while (u64_stats_fetch_retry(&(st)->syncp, start)); \ } =20 @@ -407,34 +407,34 @@ struct slic_oasis_eeprom { }; =20 struct slic_stats { - u64 rx_packets; - u64 rx_bytes; - u64 rx_mcasts; - u64 rx_errors; - u64 tx_packets; - u64 tx_bytes; + u64_stats_t rx_packets; + u64_stats_t rx_bytes; + u64_stats_t rx_mcasts; + u64_stats_t rx_errors; + u64_stats_t tx_packets; + u64_stats_t tx_bytes; /* HW STATS */ - u64 rx_buff_miss; - u64 tx_dropped; - u64 irq_errs; + u64_stats_t rx_buff_miss; + u64_stats_t tx_dropped; + u64_stats_t irq_errs; /* transport layer */ - u64 rx_tpcsum; - u64 rx_tpoflow; - u64 rx_tphlen; + u64_stats_t rx_tpcsum; + u64_stats_t rx_tpoflow; + u64_stats_t rx_tphlen; /* ip layer */ - u64 rx_ipcsum; - u64 rx_iplen; - u64 rx_iphlen; + u64_stats_t rx_ipcsum; + u64_stats_t rx_iplen; + u64_stats_t rx_iphlen; /* link layer */ - u64 rx_early; - u64 rx_buffoflow; - u64 rx_lcode; - u64 rx_drbl; - u64 rx_crc; - u64 rx_oflow802; - u64 rx_uflow802; + u64_stats_t rx_early; + u64_stats_t rx_buffoflow; + u64_stats_t rx_lcode; + u64_stats_t rx_drbl; + u64_stats_t rx_crc; + u64_stats_t rx_oflow802; + u64_stats_t rx_uflow802; /* oasis only */ - u64 tx_carrier; + u64_stats_t tx_carrier; struct u64_stats_sync syncp; }; =20 diff --git a/drivers/net/ethernet/alacritech/slicoss.c b/drivers/net/ethern= et/alacritech/slicoss.c index f62851708d4f..7488fb6ace0b 100644 --- a/drivers/net/ethernet/alacritech/slicoss.c +++ b/drivers/net/ethernet/alacritech/slicoss.c @@ -378,8 +378,8 @@ static void slic_xmit_complete(struct slic_device *sdev) smp_wmb(); =20 u64_stats_update_begin(&sdev->stats.syncp); - sdev->stats.tx_bytes +=3D bytes; - sdev->stats.tx_packets +=3D frames; + u64_stats_add(&sdev->stats.tx_bytes, bytes); + u64_stats_add(&sdev->stats.tx_packets, frames); u64_stats_update_end(&sdev->stats.syncp); =20 netif_tx_lock(dev); @@ -615,8 +615,8 @@ static void slic_handle_receive(struct slic_device *sde= v, unsigned int todo, } =20 u64_stats_update_begin(&sdev->stats.syncp); - sdev->stats.rx_bytes +=3D bytes; - sdev->stats.rx_packets +=3D frames; + u64_stats_add(&sdev->stats.rx_bytes, bytes); + u64_stats_add(&sdev->stats.rx_packets, frames); u64_stats_update_end(&sdev->stats.syncp); =20 slic_refill_rx_queue(sdev, GFP_ATOMIC); --=20 2.51.0