From nobody Sat Feb 7 22:21:05 2026 Received: from mail-pl1-f171.google.com (mail-pl1-f171.google.com [209.85.214.171]) (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 2ADB131AF31 for ; Thu, 13 Nov 2025 19:35:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.171 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763062504; cv=none; b=TctLEgvnSCV0yF8QS9CU68HpeAugMh7m2I8BzQHfQFYjXzADjodIf2wSAgfMElWXj361Odn5Arb4Ux3vNn1Aq9Heczonw480A+JhJV5FZiHbrbNrUct7EeDiPy56PuyGFa9iz/0bRaa/flWOP9xBJJhRH+pOTDT52X/S26QCSpI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763062504; c=relaxed/simple; bh=EHVXkb6D/wzpZQ2PBYR+/BX+ieNplCNVeioQSVJkOlw=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=XBc1SmkTFLiypy4m45Ocv8/6jME3eHRfkvKZUVlyQExQCqsqwGtQgtwOgXl0mG90N+PPGbjpGwMJi5vwlYZj1mNkjrpGMi553UJeBRlQrCF9yefCcSzK6EMXQbjWsNqg72h28wrTBvdsuVDbD3HVLb4VgnUTA9a/IAXIT4Q+jyg= 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=CJSPvpTI; arc=none smtp.client-ip=209.85.214.171 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="CJSPvpTI" Received: by mail-pl1-f171.google.com with SMTP id d9443c01a7336-2980d9b7df5so11224255ad.3 for ; Thu, 13 Nov 2025 11:35:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1763062501; x=1763667301; 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=0c4NJghdG1KSINak5NrA6ghM91DFkloBU+LyUjACYDM=; b=CJSPvpTIG8XrBJgrmf4T0TcoBKk5Sy+rzV9ZnLWC+0PtYog1TcaVILEN5il1/5nNHS mOge0YOmIAtDCgR3pd7g4AIH3XQw4HSe6y9HjPiKIO5e7G9uiWnaROHwzYZ89LXYFKwV +ccL2fpi5Qo5hKnM+B+CWFeeWaU1I9B7+0xv+5dHFl4zdBlVIeDRaW2pnIUYg9xeR/p5 41Q8TEFEAuDAK6XkjYroS/ZkrKjiCl1UkwUP/IhCmeQhc01zkQQh2BjDb6z9s8iuEVqk A50owi6qnvppUS5kMUM9oGZZpyCZYV4taglszU+UcByv0qgh7ehfEMZT6qH+s/lzXWPu fW1Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1763062501; x=1763667301; 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=0c4NJghdG1KSINak5NrA6ghM91DFkloBU+LyUjACYDM=; b=ErYyNR1lWxnTdzVbLwPc7c/1iGmS9+vYbGODNVO2+hFiJLdRBS20GlnJDpF7KXJmQO +sInVgqGgc8L0ueWUJ8o9d18dU5HY81JhwDUNaiVCAH+Ju1EHRHRNSLlYlbZlujb7Jzb 2xiTjK1CB1d35D06w9aRBapNgX8cyFsCae2HfUgZiBQlwKEPxEQyRlRRSkjkjlD2CJNJ F6vAchQB6RqDGpRlkQvvkN/OvkROaRHAr5AIIeD62Im2w/ueQkH79B4E2F8liuIGz4xJ M5mKHRR6W5k3EQWkDCnrcEGUh3XSL9QTcSOUiP6Y15Dlu4GPi13ldVHEmdiumWDI5MSz 20xg== X-Forwarded-Encrypted: i=1; AJvYcCV6tob7toTJZdfy5W860OEfVz9/CQtFS/2qim6laOu0EQW9rXhZCcscxh1pLHreLgTmzbRTe2tGG5iTwnQ=@vger.kernel.org X-Gm-Message-State: AOJu0YzI9d/y8Z31ysWxJSoKEDt+OezXTiZlvsYznqZQ35bq35bR6tmk kf2nbnFBPdkNByP5w+I94XRR5Ky17hwEhjxoQcw5V2eQDREPqhvIVFxyk5/4ig== X-Gm-Gg: ASbGnctJJtDbcpJCJo4lPARiaoYohXr69cMX9d+GJvo2xCdjuSIwL5I21IQjW9J6Kb5 haYhyCiWvrDyKzB/am48aOKnNBAQRPuQZsVJsQaztXMVkWdK/qEAQNXIKSC6bhf5QbaAm//an78 Tbx45U88GJvy7zt0LbgVFYP9dIqMX5JkE79CxVPdmmaB54bvwEYYyGzE0R1ifTL3WCprYgSATyT zGduVFHJNNbbMF2APMfa2g5mLbkgjNTQdvosSq0wJaY5ZFgmnbl9TDdiA3Hd2N8kS4xpfoM5qvS apV4HAO8dbaI1e4pyCANV/9QawWv0E48sOPvaTn3M3WXmiTQQ0LfXwfC/7V+J8y/btH3CvSTCSF UdfmT3km9QRx1fu+FDd3yjIV0CwhLtLoPIebk46eo+B+x0UF8EPrfDTjCsGA3BVk7pYV02ENaZ7 2h76bwkpiQ8YRdTAQC1XFCTpwLZY/Gsmi0p7NReQbn0NbKzzmqsZWpBshFvZqJB56T1DOSVWLhC gM4QDlqnFg8XlcI X-Google-Smtp-Source: AGHT+IF1cmEwBkU4/MRLBB1jNkC6YWSszyg8dCHqea7EPJt2GsjavRY3+3v9W48cZabaU9bk0FbOQQ== X-Received: by 2002:a17:902:d502:b0:297:c889:ba35 with SMTP id d9443c01a7336-2986a73bb54mr1625225ad.31.1763062501201; Thu, 13 Nov 2025 11:35:01 -0800 (PST) Received: from visitorckw-work01.c.googlers.com.com (25.5.80.34.bc.googleusercontent.com. [34.80.5.25]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2985c23849esm33663235ad.5.2025.11.13.11.34.59 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 13 Nov 2025 11:35:00 -0800 (PST) From: Kuan-Wei Chiu To: akpm@linux-foundation.org Cc: richard120310@gmail.com, mingo@kernel.org, linux-kernel@vger.kernel.org, Kuan-Wei Chiu Subject: [PATCH] Revert "lib/plist.c: enforce memory ordering in plist_check_list" Date: Thu, 13 Nov 2025 19:34:13 +0000 Message-ID: <20251113193413.499309-1-visitorckw@gmail.com> X-Mailer: git-send-email 2.52.0.rc1.455.g30608eb744-goog 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" This reverts commit 7abcb84f953df037d40fad66f2109db318dd155b. The introduction of WRITE_ONCE() calls for the 'prev' and 'next' variables inside plist_check_list() was a misapplication. WRITE_ONCE() is fundamentally a compiler barrier designed to prevent compiler optimizations (like caching or reordering) on shared memory locations. However, the variables 'prev' and 'next' are local, stack-allocated pointers accessed only by the current thread's invocation of the function. Since these pointers are thread-local and are never accessed concurrently, applying WRITE_ONCE() to them is semantically incorrect and unnecessary. Furthermore, the use of WRITE_ONCE() on local variables prevents the compiler from performing standard optimizations, such as keeping these variables cached solely in CPU registers throughout the loop, potentially introducing performance overhead. Restore the conventional C assignment for local loop variables, allowing the compiler to generate optimal code. Signed-off-by: Kuan-Wei Chiu --- lib/plist.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/plist.c b/lib/plist.c index 330febb4bd7d..ba677c31e8f3 100644 --- a/lib/plist.c +++ b/lib/plist.c @@ -47,8 +47,8 @@ static void plist_check_list(struct list_head *top) =20 plist_check_prev_next(top, prev, next); while (next !=3D top) { - WRITE_ONCE(prev, next); - WRITE_ONCE(next, prev->next); + prev =3D next; + next =3D prev->next; plist_check_prev_next(top, prev, next); } } --=20 2.52.0.rc1.455.g30608eb744-goog