Received: by 2002:ab2:6203:0:b0:1f5:f2ab:c469 with SMTP id o3csp2090149lqt; Mon, 22 Apr 2024 00:35:30 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCVqsVffvldGlmfPSwdOM0MjCM/PyVIevk88bmXdafMcg34tiBewsIBzVa3pkF/A2ZJNDEyRvCL5BgvhGcMq5vp/VdwUglCjMvycSNjYgA== X-Google-Smtp-Source: AGHT+IE7dW3uWTs8E8mhN7W6RmrqJaEaIFq+3AF1CDI7+5cAiX9tuyINvBFLBSJh9UaxJhp340Yg X-Received: by 2002:a17:907:94cb:b0:a55:b175:170 with SMTP id dn11-20020a17090794cb00b00a55b1750170mr2312398ejc.56.1713771330144; Mon, 22 Apr 2024 00:35:30 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1713771330; cv=pass; d=google.com; s=arc-20160816; b=hiwmFsbrfI1kJ8ZwtSga/sYJPl30cn2cyGYIxrtNYtjs3XoT1EWyfFUKtXpj1AeFsk Hj477D1w1DcmaLmRmkjG7w8afSYzvukRB3BCBK7IJRmPytjE4ccls0/kThz4pTBKhbnW MZ7OugjIiYp2PpeNqFcoO5LMQ+uG4gBmeYcWwrLrgLzNbdKEEabmVRRkKgCI+W4MAUeN XDYwUm6N0hmyNyT1REbQHyMgPBLZPhhRPoZ+y9kpkH+L/ToWl4W9mUiKbpZEbnZsIbrD cRBT+TUDPhhU2aGx99d/iAhmgVhq2b9gF4VTdHR0nnukgRq4/7q0xn2pJCwqSrbxNWc/ bkMw== 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=46RCdpJ7vgBjG7tk56Uoq6fJtjN5FpgbYn8UqwNaImE=; fh=p8gEXSC1U9qmpN1hovtWczO/6sPBw+QftGbLiQjhwzs=; b=wxStfUNcTB97qjaVRDGvk6N6m2FKpMldP5CyBGdmcUrJmzDC/BhtPA9PquIom7fqAI beVWyYGsqFVhaKWw5mbOI/IEbsBeC2/wgxYRVeHGrSZjYAfa6Wj7O3lo1j9KZGOBvLWw upkKqdPkk8mCse7bnwwgnocAa4EGe8pmbRwdfCMXE+3KBSApObqExTK49iJDLdULNX4e /Ad5yTeYwbllvbd4/RC1obwqpd+aZgqK2Y11RGCNPDab4C72GkL9SmXbGU24H+qpImep U1BEcauMYGQYf1K1A620BTrJq5xVONdsfmJN9+DSdfezeDOQOrWzSEBXbFyeH2Jnz8Jw zt0A==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@canonical.com header.s=20210705 header.b=pCQ654iZ; 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-152880-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-152880-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=canonical.com Return-Path: Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [147.75.80.249]) by mx.google.com with ESMTPS id qf34-20020a1709077f2200b00a55b3f76d49si1089888ejc.902.2024.04.22.00.35.30 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 22 Apr 2024 00:35:30 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-152880-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) client-ip=147.75.80.249; Authentication-Results: mx.google.com; dkim=pass header.i=@canonical.com header.s=20210705 header.b=pCQ654iZ; 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-152880-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-152880-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 am.mirrors.kernel.org (Postfix) with ESMTPS id 85CA21F22815 for ; Mon, 22 Apr 2024 07:35:29 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 563634D5B0; Mon, 22 Apr 2024 07:35:14 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=canonical.com header.i=@canonical.com header.b="pCQ654iZ" 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 AB3784C637 for ; Mon, 22 Apr 2024 07:35:11 +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=1713771313; cv=none; b=WsWo2G2XQI/osNWs0HYaHTrIdXonX6/7OiRGA64FxGYxtgB0fcywGRvnQ4UPGUpAeodCa9pFlSESmLZE4dWm+i9jrPbk9vGrijxphO6AFRKhjTmCKe3eWCXFHioY2JQqx5S7kwbSZxaE92Rg4On0H4v4X91RnMyXAsLNhlrr7xc= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713771313; c=relaxed/simple; bh=fBrj1dnoyR2LmahOk4WbX0ibThwyJ1nrtKoFW/2YZOk=; h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=evkqePx7KDCyZnw8RoOjtWJvqGAESqASu6Ncl08GD74GA3Fs/Cayl37qhnHpQELCnYOyTQBGLYmYt2/VvKkFAj3sOeyYZIkHK5neNIrN/+2zIDV9Rp/iuRTGdeMJ0oIzZ3egbWBrh7XgmLw7eYXThyFZfLwFsp4qkVx7A7GDEvo= 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=pCQ654iZ; 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-vk1-f199.google.com (mail-vk1-f199.google.com [209.85.221.199]) (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 971093F182 for ; Mon, 22 Apr 2024 07:35:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=canonical.com; s=20210705; t=1713771303; bh=46RCdpJ7vgBjG7tk56Uoq6fJtjN5FpgbYn8UqwNaImE=; h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=pCQ654iZ5wIW11Ey8CSsUqFGyW5L44fhRxN4nEFlgrh4lrenXnBKrv6FopVn98w4i THoSfBU3VE9znLNSeWnJQ785kplPiDieRs1irBSXvFXAfCuUD1JhLOvMY0UZs4y90k 0r1T8w5AjO1TeFdN/Gw3N/bXNhNoAnOMn5KYuqgHIc9nmqg/GpVBU0Lu9oofi4Ngcq Yl8owgFA6YKHkCdM3TH8ORFHnE0wCQWgoTIynLph+UYje9JMUUEG7saoU4OSkaLi3S dBS0ceR7bkBN3W3DIw9p+SyWkUoZTiK+szBV57Bfpghv6nocA9iODS710BDLPuMRbz k9xuwBcJyI9QA== Received: by mail-vk1-f199.google.com with SMTP id 71dfb90a1353d-4daa6aaff58so3246608e0c.2 for ; Mon, 22 Apr 2024 00:35:03 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1713771302; x=1714376102; 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=46RCdpJ7vgBjG7tk56Uoq6fJtjN5FpgbYn8UqwNaImE=; b=jKPWKGjUgOWvFk4rARgzJ3ru508KwxSfmoZ+TWy09963qnue3TfY0jvT8JlFtEceBz Nev+kAosaUMsU4vOQZcqd8mTrdHcsweyGsuXtGszDl1y3OUIRzGMSX5btNXDSv9zWLj8 +fhM+SiG1WMWTtoERyao0EhvYat2JKJNwCAibz7B9fcnQeEyJhL/ixw7XbLylyxQnYgh eepUbevh3bF3H47iUPuZ0n/qJmc/e4BWZf+L4vXB6I5QRtExUi5SvcU1aL2Wt2Qqcmfx rCSadRiQrYPdD9Qcy9glXa3LztvyMseC9/QUCJX4Z1UpgOjmCqZAEAueUpRok5eUH1m5 J6Og== X-Forwarded-Encrypted: i=1; AJvYcCUZHlKydHQbQULACVumwRinHVhhHhCwIgLS2fZtupp+7oNefpGtKR+2hifw+Sp0EWfnNSnzyKlVBljfF9PzSedDZmD++K8S5Teqi5oz X-Gm-Message-State: AOJu0YyNYfov+19n4i0fJ70BCJxBjLaNfkhmsmW82byfH95VIGCE+qVr JfMo3O43MZB1zEx3PiSPhMLoj1xJFtBM8hhy7DEsONeF80pKc7A+VcpjgS2Ogza45IKuW1TMX/b k4XPOxB6COh6X+I14btcBU7NpshE6Q7YR009edMHO/SYLxWqBZt9G2PPZCu7SNFyG0IKfBccg2C OiThtZS9pAlmCW6LlZTHb3uM/FUPEpKjBOldgB9QNfAxJrs/OCQSC0cFpcGvKk X-Received: by 2002:a05:6122:2027:b0:4d4:11a6:a4ff with SMTP id l39-20020a056122202700b004d411a6a4ffmr11538024vkd.3.1713771302337; Mon, 22 Apr 2024 00:35:02 -0700 (PDT) X-Received: by 2002:a05:6122:2027:b0:4d4:11a6:a4ff with SMTP id l39-20020a056122202700b004d411a6a4ffmr11538011vkd.3.1713771302079; Mon, 22 Apr 2024 00:35:02 -0700 (PDT) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 References: <20240418145743.248109-1-aleksandr.mikhalitsyn@canonical.com> In-Reply-To: From: Aleksandr Mikhalitsyn Date: Mon, 22 Apr 2024 09:34:51 +0200 Message-ID: Subject: Re: [PATCH net-next v3 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 Sun, Apr 21, 2024 at 1:06=E2=80=AFPM Julian Anastasov wrote: > > > Hello, Dear Julian, Thanks a lot for the fast review and suggestions! Kind regards, Alex > > 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 > > Looks good to me, thanks! > > Acked-by: Julian Anastasov > > > --- > > net/netfilter/ipvs/ip_vs_ctl.c | 14 +++++++------- > > 1 file changed, 7 insertions(+), 7 deletions(-) > > > > diff --git a/net/netfilter/ipvs/ip_vs_ctl.c b/net/netfilter/ipvs/ip_vs_= ctl.c > > index 143a341bbc0a..32be24f0d4e4 100644 > > --- a/net/netfilter/ipvs/ip_vs_ctl.c > > +++ b/net/netfilter/ipvs/ip_vs_ctl.c > > @@ -94,6 +94,7 @@ static void update_defense_level(struct netns_ipvs *i= pvs) > > { > > struct sysinfo i; > > int availmem; > > + int amemthresh; > > int nomem; > > int to_change =3D -1; > > > > @@ -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(); > > > > @@ -145,9 +147,8 @@ static void update_defense_level(struct netns_ipvs = *ipvs) > > break; > > case 1: > > if (nomem) { > > - ipvs->drop_rate =3D ipvs->drop_counter > > - =3D ipvs->sysctl_amemthresh / > > - (ipvs->sysctl_amemthresh-availmem); > > + ipvs->drop_counter =3D amemthresh / (amemthresh -= availmem); > > + ipvs->drop_rate =3D ipvs->drop_counter; > > ipvs->sysctl_drop_packet =3D 2; > > } else { > > ipvs->drop_rate =3D 0; > > @@ -155,9 +156,8 @@ static void update_defense_level(struct netns_ipvs = *ipvs) > > break; > > case 2: > > if (nomem) { > > - ipvs->drop_rate =3D ipvs->drop_counter > > - =3D ipvs->sysctl_amemthresh / > > - (ipvs->sysctl_amemthresh-availmem); > > + ipvs->drop_counter =3D amemthresh / (amemthresh -= availmem); > > + ipvs->drop_rate =3D ipvs->drop_counter; > > } else { > > ipvs->drop_rate =3D 0; > > ipvs->sysctl_drop_packet =3D 1; > > -- > > 2.34.1 > > Regards > > -- > Julian Anastasov >