Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp2726052ybl; Sun, 26 Jan 2020 09:17:29 -0800 (PST) X-Google-Smtp-Source: APXvYqzYwgXd7LNQMD+Uq8de3nALbYT5MoNvE/0QRjirePgEU8EEXrOAHN1xWwVLnHfe0rOLTca0 X-Received: by 2002:a05:6830:4d9:: with SMTP id s25mr9824925otd.171.1580059049124; Sun, 26 Jan 2020 09:17:29 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1580059049; cv=none; d=google.com; s=arc-20160816; b=MshuBrBLhxKp1KYW6h7sHBi2wT0uMaFdp+Eqx6GofLJmXxlBbJHJfpN5L6+WadLrm8 9uhvQcp1qnCf9bH5Zcz5VOZfskyiLDvxodT0V3Vq8Z9EZQNrk2K7ethmnZvDlODX+wZz ARnej9Pe/q1ZCfjmrLSLLFaouXr2NDBBIW1Ri8PGSYlbv7ksJAnjiXBhQx8eTu0DZjPS 2djlb+mgzdTVHPTOxbNkHfqZHKgxIvJUP+eni4WMCb0Tm3AaCc4UAHEQbfvVfjZSGR3W Tfa0RHAMP6sb5Zi3/LuLPMzVi8cmSKQ+oVtxYyz3UOqLrCK2ZBaPyo+aG3g0HapMxIyR fe2A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date; bh=oKjFT09i3bZxwMvse/M8+vVueOuBrUGNO+BWjR/lBp4=; b=KphBALmsGuBu7p4qBlzsnpDPTLrksJ45AINZs54rTeZPheg3bUUiPpS5+7PQeZumR0 Kd6O6Jiy5FqR79AbfWKRxhUHQWCrXIzVh1KVBBEsfdyfuZRbeGlUtWdnaLKMcaOqyf7N rNLrjfcFwBbG3FeC1FsugTic54yz+OOtBxIz5owHi8x+jkZXAvHhdz8kehFgZfu8k4r0 XXFr9tw0J3WAmWsRo1Gze/o8AabaYYI1gA6RPXzZQoP54xHPzinamRKTj2L0wbsBb44f CtRnA49qanpRvvVcgykSiRWQzGFJT99WpmpQdOzPT78++YFjHxl0Zp+ZkeG5zXgD/hVr +J1Q== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id v14si5774152oto.127.2020.01.26.09.17.16; Sun, 26 Jan 2020 09:17:29 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726657AbgAZRPI (ORCPT + 99 others); Sun, 26 Jan 2020 12:15:08 -0500 Received: from jabberwock.ucw.cz ([46.255.230.98]:45202 "EHLO jabberwock.ucw.cz" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725944AbgAZRPI (ORCPT ); Sun, 26 Jan 2020 12:15:08 -0500 Received: by jabberwock.ucw.cz (Postfix, from userid 1017) id 46C341C036D; Sun, 26 Jan 2020 18:15:06 +0100 (CET) Date: Sun, 26 Jan 2020 18:15:05 +0100 From: Pavel Machek To: Greg Kroah-Hartman Cc: linux-kernel@vger.kernel.org, stable@vger.kernel.org, Eric Dumazet , Jakub Kicinski , Sasha Levin Subject: Re: [PATCH 4.19 599/639] net: avoid possible false sharing in sk_leave_memory_pressure() Message-ID: <20200126171505.GD19082@duo.ucw.cz> References: <20200124093047.008739095@linuxfoundation.org> <20200124093204.391643194@linuxfoundation.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="XvKFcGCOAo53UbWW" Content-Disposition: inline In-Reply-To: <20200124093204.391643194@linuxfoundation.org> User-Agent: Mutt/1.10.1 (2018-07-13) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --XvKFcGCOAo53UbWW Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Fri 2020-01-24 10:32:49, Greg Kroah-Hartman wrote: > From: Eric Dumazet >=20 > [ Upstream commit 503978aca46124cd714703e180b9c8292ba50ba7 ] >=20 > As mentioned in https://github.com/google/ktsan/wiki/READ_ONCE-and-WRITE_= ONCE#it-may-improve-performance > a C compiler can legally transform : >=20 > if (memory_pressure && *memory_pressure) > *memory_pressure =3D 0; >=20 > to : >=20 > if (memory_pressure) > *memory_pressure =3D 0; Well, C compiler can do a lot of stuff, and we rely on C compiler being "sane" -- that is gcc. Even if compiler did the transformation, that will only result in slightly slower performance, right? Is there any evidence this is problem in practice? Should this be in stable? Best regards, Pavel > +++ b/net/core/sock.c > @@ -2179,8 +2179,8 @@ static void sk_leave_memory_pressure(struct sock *s= k) > } else { > unsigned long *memory_pressure =3D sk->sk_prot->memory_pressure; > =20 > - if (memory_pressure && *memory_pressure) > - *memory_pressure =3D 0; > + if (memory_pressure && READ_ONCE(*memory_pressure)) > + WRITE_ONCE(*memory_pressure, 0); > } > } --=20 (english) http://www.livejournal.com/~pavelmachek (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blo= g.html --XvKFcGCOAo53UbWW Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iF0EABECAB0WIQRPfPO7r0eAhk010v0w5/Bqldv68gUCXi3JGQAKCRAw5/Bqldv6 8tXqAJ9xRik6QC4lKIxZJnGR9pEUzJKgpwCgt5fiRlxg/KfBmn58c/mwksuZ8Ms= =ep4Y -----END PGP SIGNATURE----- --XvKFcGCOAo53UbWW--