Received: by 2002:ab2:6203:0:b0:1f5:f2ab:c469 with SMTP id o3csp62466lqt; Thu, 18 Apr 2024 08:29:29 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCXFsdFZdbMHzMsq+Dy17QUQmG/fcEUhlv0xcfsUjuqgAN78+FrYPWc2oTCDyR/jL5t1soXt8f+t5bXRLsNCuc4+0vew/KHStiT9P+e9ig== X-Google-Smtp-Source: AGHT+IGPmCaTEEIfdY5+NSHPCA9+IFIzPdenR4KlmWcP3eOO4tAGavNjZJyL54earcxBLkhfSXzy X-Received: by 2002:a17:90a:ce81:b0:2a2:d48:9d50 with SMTP id g1-20020a17090ace8100b002a20d489d50mr3027810pju.44.1713454168878; Thu, 18 Apr 2024 08:29:28 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1713454168; cv=pass; d=google.com; s=arc-20160816; b=pb6DWXkjufspm8IGYF3ka14FbdPuEVDz0AaID39i+YD7HVQBak845OZnxriEisL3fX b+B+gjKzq87SCLV8yKM11rDGJCoNp9G5QPrbAaOYPKm6VZjreJj/T+WAmc4JK4LxDEIS Uu/Dq6xXPcaTOHSu6evAPwrTv9zkeB4HopeUXBMOKZgMUEcStLk2wBzVll3QOzP1UjAf UI6un5GI6DmzGjzQIUCI/KJMXLuoqBFSRunogb+rCdzEF++MSfqHjju/3Edq0rYLdWO+ Jx73blgrY5qzMFu18lFNFX+s8ZY3II8kbvjh5uF8L01AzeE3aCZE4e+2XM3AnLDagW7X 0sVQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:list-unsubscribe:list-subscribe :list-id:precedence:dkim-signature; bh=Uwv3V9NnGMB5Wj85PeZTAIoBr809/UIjglv9mvQKrBw=; fh=6d6UPGCWos0hHnxI7v5XiJZ1PN1bedgn9ERfthLvCqk=; b=xsCSIlirK2xdsSJDDywCi7mRI1yawyvCFuy4LiBna0w2kunZB2BlQkmk0EFk+EpDcd CiMd6GI5xvDs7mdjbFMdbr1LOAJRbYigjWtxVL374CK3WbWUEhEdglGnntYWVRGOAaWd 8DW2CdvzWHW6o45ZpBmUK3smnBdwNNGlUxWjIr4ZVGg5JDoGASO/E8ORVIphl/m1W7EW HOjfnwcnlVb+XX4xkzoVW4HvRi5HaIY03UN38uuiYFBEzqy37CodIPQNfF4pqURAOf+o U8/20zBDwSKVy6oFsYGfc4WxFIuf6Iz6TU9Lo8A1RAIzfNJJYar94T1YV3tCxRGqQvdb 76tA==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@canonical.com header.s=20210705 header.b=EsK3BI3w; arc=pass (i=1 spf=pass spfdomain=canonical.com dkim=pass dkdomain=canonical.com dmarc=pass fromdomain=canonical.com); spf=pass (google.com: domain of linux-kernel+bounces-150358-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:40f1:3f00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-150358-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=canonical.com Return-Path: Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org. [2604:1380:40f1:3f00::1]) by mx.google.com with ESMTPS id f5-20020a17090aa78500b002abe1800a99si1235372pjq.74.2024.04.18.08.29.28 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 18 Apr 2024 08:29:28 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-150358-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:40f1:3f00::1 as permitted sender) client-ip=2604:1380:40f1:3f00::1; Authentication-Results: mx.google.com; dkim=pass header.i=@canonical.com header.s=20210705 header.b=EsK3BI3w; arc=pass (i=1 spf=pass spfdomain=canonical.com dkim=pass dkdomain=canonical.com dmarc=pass fromdomain=canonical.com); spf=pass (google.com: domain of linux-kernel+bounces-150358-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:40f1:3f00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-150358-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=canonical.com 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 sy.mirrors.kernel.org (Postfix) with ESMTPS id F0BB5B26B6B for ; Thu, 18 Apr 2024 15:02:21 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 8DD5716C443; Thu, 18 Apr 2024 15:02:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=canonical.com header.i=@canonical.com header.b="EsK3BI3w" Received: from smtp-relay-internal-0.canonical.com (smtp-relay-internal-0.canonical.com [185.125.188.122]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 939FA168B00 for ; Thu, 18 Apr 2024 15:02:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=185.125.188.122 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713452527; cv=none; b=YtRKbpLpn628F8Wu1C1iRl9mJsYtvU12leltqq2TEKZ8vyl01lio3KzxQkg2sro+zzQ97dCASczkue+HpDMKop4lWFupT2RRuSluB6sIXWjIu0gmM+Zrh/XEFQ7PkZ9ZTnd58OWQLY1oDC6LJBVlmcs6frtgOSU2hQVTAqU7uIA= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713452527; c=relaxed/simple; bh=DQg9N9NsmAiomB3YevtTSMmyEr0U2U0LM9Xrfnum6ck=; h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=aF/OMXSGOxyasMO41K6i+n/CTeZhqA+GZCK6UcZYqyCHoYt90ZR6eSJjlHXWK6aYvzfC0nw4oBvV/cvjoBeCAF8jr8iJNRMw0hNL6FPtrZOFr0jqImqDxj3qRyTz1UEmfq04blaiIVNcj8emIXiBrOM7sr/ZVzFY3S0P1KutroU= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=canonical.com; spf=pass smtp.mailfrom=canonical.com; dkim=pass (2048-bit key) header.d=canonical.com header.i=@canonical.com header.b=EsK3BI3w; arc=none smtp.client-ip=185.125.188.122 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=canonical.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=canonical.com Received: from mail-qv1-f69.google.com (mail-qv1-f69.google.com [209.85.219.69]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by smtp-relay-internal-0.canonical.com (Postfix) with ESMTPS id 1C1953F8E7 for ; Thu, 18 Apr 2024 15:02:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=canonical.com; s=20210705; t=1713452522; bh=Uwv3V9NnGMB5Wj85PeZTAIoBr809/UIjglv9mvQKrBw=; h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=EsK3BI3w/36KL1YiurVwhkCrgd74JYbPyQcAtL/9YzbiE+NUkaCHkonopFsZOh8OI E3/esZxM6q0lBihe3VAj9NzaIEMOfv9iVyCrOpTkFmEeIdhn15GGCVHF291tFpz+8u AqWIbnRqsYKgeV1xQbLGXCPEVZF3Gtx/kNDrPGn5Xgmhdlnyy+AHpyvXWELQSZg3DH QSmFgJVvrYPsM3dlrZk3uZjtVteGIsxIMY2ZG5BX2sT3nHNLNB0lN8OStlBRKkzJQy yuMVC0g7mCiquoE3lZ3RcmNEq2NKUmaETyYZQvK0ZjEspQ0wmlbY/mBRQ6I1p0o+fg kQ3y2y5VjkZKg== Received: by mail-qv1-f69.google.com with SMTP id 6a1803df08f44-6994084553bso12635876d6.2 for ; Thu, 18 Apr 2024 08:02:02 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1713452521; x=1714057321; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Uwv3V9NnGMB5Wj85PeZTAIoBr809/UIjglv9mvQKrBw=; b=iaMPTGOWft3GksQrxclTvpTxy9RYe09OKIiZa0ytukq5IB4+WIaq4lA2dYItXzRaRa U6cLxctklrYfP7RoQOCgjLQDGgkdW7rembwQg+rEenG4bvhGEh7lRjXkwWhEa2PxVJCU PkMwFyLTaOAqu+QFpMpfMiF1uPTXk3//Fh8YFJuQAONletjdklLzbDTuvXJerCO7T2YS 0Y5lr5qcHaY1FMs9xv5v5BTZBNbkdf+sMN9Qd+45yenAzhTQHX8EuQIeXVgW85I+nn6c w0Whkm91G9AztZdT39Pk7LZX7CW7m1zpOd+tzLsYnnQROalsRWJzF+642qVF1Gxu0h35 af7g== X-Forwarded-Encrypted: i=1; AJvYcCUdzVK71ZAiCSYYWeVal4YZ9wuXZjFy8X80Hy1i9ydmeZ5FLCxfYRqC1vPrmykiZinGrhL1hVPpe6iZaFDuKtvF87whoFF91z2OEChs X-Gm-Message-State: AOJu0Yw/xKdJY4BIB+wnSfBMFg8L8Fb+QcVytpqED7Y15f/INuWkcu4z nV1GE3xC0L2AKW1Xut1XMD1EGS/OkNTFLHZ2XRhuQrpkUKsymi3QRkY+EyEY9CYw4ZApbozCVDW t8fd2tFm/PeWsDcl8Y2OmYJcS8XLk2e1mqiUmLm0dluiQoHXnHVp40OYOKUrCegnCV8tt73xK9n pQyzlFrj1P4nMwc4ZIzhxwdSWyGluX36wuE8KEkrePDJG6mOQUC4b00pH3iyE+1dI= X-Received: by 2002:ad4:414f:0:b0:69b:5961:1ff4 with SMTP id z15-20020ad4414f000000b0069b59611ff4mr2636825qvp.63.1713452520911; Thu, 18 Apr 2024 08:02:00 -0700 (PDT) X-Received: by 2002:ad4:414f:0:b0:69b:5961:1ff4 with SMTP id z15-20020ad4414f000000b0069b59611ff4mr2636758qvp.63.1713452520029; Thu, 18 Apr 2024 08:02:00 -0700 (PDT) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 References: <20240418110153.102781-1-aleksandr.mikhalitsyn@canonical.com> In-Reply-To: From: Aleksandr Mikhalitsyn Date: Thu, 18 Apr 2024 17:01:49 +0200 Message-ID: Subject: Re: [PATCH net-next v2 1/2] ipvs: add READ_ONCE barrier for ipvs->sysctl_amemthresh To: Julian Anastasov Cc: horms@verge.net.au, netdev@vger.kernel.org, lvs-devel@vger.kernel.org, netfilter-devel@vger.kernel.org, linux-kernel@vger.kernel.org, Pablo Neira Ayuso , Jozsef Kadlecsik , Florian Westphal Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Thu, Apr 18, 2024 at 3:23=E2=80=AFPM Julian Anastasov wrote: > > > Hello, Dear Julian, > > On Thu, 18 Apr 2024, Alexander Mikhalitsyn wrote: > > > Cc: Julian Anastasov > > Cc: Simon Horman > > Cc: Pablo Neira Ayuso > > Cc: Jozsef Kadlecsik > > Cc: Florian Westphal > > Suggested-by: Julian Anastasov > > Signed-off-by: Alexander Mikhalitsyn > > --- > > net/netfilter/ipvs/ip_vs_ctl.c | 12 +++++++----- > > 1 file changed, 7 insertions(+), 5 deletions(-) > > > > diff --git a/net/netfilter/ipvs/ip_vs_ctl.c b/net/netfilter/ipvs/ip_vs_= ctl.c > > index 143a341bbc0a..daa62b8b2dd1 100644 > > --- a/net/netfilter/ipvs/ip_vs_ctl.c > > +++ b/net/netfilter/ipvs/ip_vs_ctl.c > > > @@ -105,7 +106,8 @@ static void update_defense_level(struct netns_ipvs = *ipvs) > > /* si_swapinfo(&i); */ > > /* availmem =3D availmem - (i.totalswap - i.freeswap); */ > > > > - nomem =3D (availmem < ipvs->sysctl_amemthresh); > > + amemthresh =3D max(READ_ONCE(ipvs->sysctl_amemthresh), 0); > > + nomem =3D (availmem < amemthresh); > > > > local_bh_disable(); > > > > @@ -146,8 +148,8 @@ static void update_defense_level(struct netns_ipvs = *ipvs) > > case 1: > > if (nomem) { > > ipvs->drop_rate =3D ipvs->drop_counter > > - =3D ipvs->sysctl_amemthresh / > > - (ipvs->sysctl_amemthresh-availmem); > > + =3D amemthresh / > > + (amemthresh-availmem); > > Thanks, both patches look ok except that the old styling > is showing warnings for this patch: > > scripts/checkpatch.pl --strict /tmp/file1.patch > > It would be great if you silence them somehow in v3... Yeah, I have fixed this in v3. Also, I had to split multiple assignments into different lines because of: >CHECK: multiple assignments should be avoided Now everything looks fine. > > BTW, est_cpulist is masked with current->cpus_mask of the > sysctl writer process, if that is of any help. That is why I skipped > it but lets keep it read-only for now... That's a good point! Probably I'm too conservative ;-) > > > ipvs->sysctl_drop_packet =3D 2; > > } else { > > ipvs->drop_rate =3D 0; > > @@ -156,8 +158,8 @@ static void update_defense_level(struct netns_ipvs = *ipvs) > > case 2: > > if (nomem) { > > ipvs->drop_rate =3D ipvs->drop_counter > > - =3D ipvs->sysctl_amemthresh / > > - (ipvs->sysctl_amemthresh-availmem); > > + =3D amemthresh / > > + (amemthresh-availmem); > > } else { > > ipvs->drop_rate =3D 0; > > ipvs->sysctl_drop_packet =3D 1; > > Regards Kind regards, Alex > > -- > Julian Anastasov >