Received: by 2002:ab2:6203:0:b0:1f5:f2ab:c469 with SMTP id o3csp1649368lqt; Sun, 21 Apr 2024 04:06:29 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCWcVNAcC5wOpMunYvUQYfgHYXu3z4xq4iJbaeNWzrBszyfLl57gctFCeA3+oMZVJDLC/2uv6l6aT2uOr6VlJAt096htjAVGAAhfwidi0A== X-Google-Smtp-Source: AGHT+IFKJenVaGrl4XXTz/o1091GeJSFgPcPp6UvNeUzBWUD23KGWXJtTMWLIs2GuS/ItnzxTY3L X-Received: by 2002:a17:906:2819:b0:a52:2c4f:7957 with SMTP id r25-20020a170906281900b00a522c4f7957mr6645728ejc.66.1713697589237; Sun, 21 Apr 2024 04:06:29 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1713697589; cv=pass; d=google.com; s=arc-20160816; b=RGXKWhVbOZ6HCt+8UDkLweby7w57bYqxjkupU/dtc8iFsgdswu/X02RTG3l4sC+gaL eUyMjkIpoNfi/UURA9jYLumUjJ0M0WDFqKJrQwKLgA+0+6EC16+v6/eu4wnBclOXocna 3CE/KBhCrrLwNFWLsXxwzQfhiEYenLJWnJdKtyYvyjzbglDlvS19rE7Mo5iVooe8bX+l TUZzDVsjNhBs3bcUViRuz4F2FYGrZtfvkC0wowG3Xhb6dn5/cUF46n+UdpLifk7hc6j0 EACXyHNlNcDkdQjlKJ1ocTTf7EB+M+cEDd/j0FHyMUZfRiTiKIwFiQI73wRlf3bYuj3T rrZQ== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=mime-version:list-unsubscribe:list-subscribe:list-id:precedence :references:message-id:in-reply-to:subject:cc:to:from:date :dkim-signature; bh=7oh6OwYv3qr/QZFXIi0O7G0LxLt8RW/s9NY+S5mAUqY=; fh=FRU/DuGV4Y9zqf8PtOBioSveXH8vcFueieM2y8x51WQ=; b=sF2xjdy7LEOO9+HLuzGxrtxNsF9kVzLhUa2Z2sK8ttKa+xsXuTD0Xh2hdzDTKtFQde IbzPq6iBNLIKueaZx6ItK47b2vrDclCDBgiu0Q5s9tcRxmL4xHR+GQKdMIYyiYn/1CeK TmF49Opp4exmy5I2uqHNDdVRly+4uIGLk8X7Zk7S8RM9i1Wyh3a3UD4GnXm6KpdJMk0A 1KctKsqyCl5NDP6SAwezsE//kFT8kcI9h8OiasTbtoFkg4Xv3ZIVuhFQ9ygvLPHTb2xE szcScMBqQDFowZAfpVYhwnQoP8x6mm25lr13y6O3A3la1kllaZm6RbSXCH0dFGtdftL2 Z0ew==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@ssi.bg header.s=ink header.b=mojg62LF; arc=pass (i=1 spf=pass spfdomain=ssi.bg dkim=pass dkdomain=ssi.bg dmarc=pass fromdomain=ssi.bg); spf=pass (google.com: domain of linux-kernel+bounces-152474-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-152474-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=ssi.bg Return-Path: Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [147.75.80.249]) by mx.google.com with ESMTPS id t27-20020a170906269b00b00a51a48614b4si4524155ejc.426.2024.04.21.04.06.29 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 21 Apr 2024 04:06:29 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-152474-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=@ssi.bg header.s=ink header.b=mojg62LF; arc=pass (i=1 spf=pass spfdomain=ssi.bg dkim=pass dkdomain=ssi.bg dmarc=pass fromdomain=ssi.bg); spf=pass (google.com: domain of linux-kernel+bounces-152474-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.80.249 as permitted sender) smtp.mailfrom="linux-kernel+bounces-152474-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=ssi.bg 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 DB1511F21089 for ; Sun, 21 Apr 2024 11:06:28 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 7C3C611CBD; Sun, 21 Apr 2024 11:06:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=ssi.bg header.i=@ssi.bg header.b="mojg62LF" Received: from mg.ssi.bg (mg.ssi.bg [193.238.174.37]) (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 04C73205E18; Sun, 21 Apr 2024 11:06:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=193.238.174.37 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713697578; cv=none; b=LYvTZ68ePdjebNZ2+ge547qam6aDT3nLUGzO3E8eXMiZwn6b5dLmouMxQhGFA12KWnlS06Yy5HirtWnmX72FrWmfZ7b9HvDDmIOfy9/Q+lmTjhgVr9/ie61JvJTdpYiI386d2WFiwr8D9wEi4OhcPiiCiooB1fA9B8KWMbnZeFI= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1713697578; c=relaxed/simple; bh=GdwWJ85LC1A0LTIVA+zAN8BD2/xLrsuqVq8CLg9O6dI=; h=Date:From:To:cc:Subject:In-Reply-To:Message-ID:References: MIME-Version:Content-Type; b=rUXxz+jFR3mRkbBcw8HxUYx3EkZmAFJcKCa79FVGdMUiNFGIBdhZhfDiPyF1TLjj8LJYuplGgEZfk2k+og4cVs+lVeJl2kyXS+0qCZxnndDUa2Fze4AzyRSe0vnG9//y8xTdF8wqj1I6D6y/6JzE92sIJYglaetFxBrTJwV//4Y= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ssi.bg; spf=pass smtp.mailfrom=ssi.bg; dkim=pass (1024-bit key) header.d=ssi.bg header.i=@ssi.bg header.b=mojg62LF; arc=none smtp.client-ip=193.238.174.37 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=ssi.bg Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=ssi.bg Received: from mg.ssi.bg (localhost [127.0.0.1]) by mg.ssi.bg (Proxmox) with ESMTP id 676C9224CC; Sun, 21 Apr 2024 14:06:13 +0300 (EEST) Received: from ink.ssi.bg (ink.ssi.bg [193.238.174.40]) by mg.ssi.bg (Proxmox) with ESMTPS; Sun, 21 Apr 2024 14:06:12 +0300 (EEST) Received: from ja.ssi.bg (unknown [213.16.62.126]) by ink.ssi.bg (Postfix) with ESMTPSA id 8FBC39003A3; Sun, 21 Apr 2024 14:06:09 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=ssi.bg; s=ink; t=1713697569; bh=GdwWJ85LC1A0LTIVA+zAN8BD2/xLrsuqVq8CLg9O6dI=; h=Date:From:To:cc:Subject:In-Reply-To:References; b=mojg62LF85N0UTEZNOrENQaxe7gEDHYIXhVe/VAzjjKK4+wMaypT5dwYg0pkcoruF fghni4PYZUtuoVz+OANK1LeyTIudOkNXXEmFR/W/ofd8UM3jCJ3IYVQhdFHi6YesqZ tCL7ClloJI156oR6bBfLvCb5Y8vK6FhnJrYrKOTs= Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by ja.ssi.bg (8.17.1/8.17.1) with ESMTP id 43LB67r1035357; Sun, 21 Apr 2024 14:06:08 +0300 Date: Sun, 21 Apr 2024 14:06:07 +0300 (EEST) From: Julian Anastasov To: Alexander Mikhalitsyn 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 Subject: Re: [PATCH net-next v3 1/2] ipvs: add READ_ONCE barrier for ipvs->sysctl_amemthresh In-Reply-To: <20240418145743.248109-1-aleksandr.mikhalitsyn@canonical.com> Message-ID: References: <20240418145743.248109-1-aleksandr.mikhalitsyn@canonical.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Hello, 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 *ipvs) > { > struct sysinfo i; > int availmem; > + int amemthresh; > int nomem; > int to_change = -1; > > @@ -105,7 +106,8 @@ static void update_defense_level(struct netns_ipvs *ipvs) > /* si_swapinfo(&i); */ > /* availmem = availmem - (i.totalswap - i.freeswap); */ > > - nomem = (availmem < ipvs->sysctl_amemthresh); > + amemthresh = max(READ_ONCE(ipvs->sysctl_amemthresh), 0); > + nomem = (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 = ipvs->drop_counter > - = ipvs->sysctl_amemthresh / > - (ipvs->sysctl_amemthresh-availmem); > + ipvs->drop_counter = amemthresh / (amemthresh - availmem); > + ipvs->drop_rate = ipvs->drop_counter; > ipvs->sysctl_drop_packet = 2; > } else { > ipvs->drop_rate = 0; > @@ -155,9 +156,8 @@ static void update_defense_level(struct netns_ipvs *ipvs) > break; > case 2: > if (nomem) { > - ipvs->drop_rate = ipvs->drop_counter > - = ipvs->sysctl_amemthresh / > - (ipvs->sysctl_amemthresh-availmem); > + ipvs->drop_counter = amemthresh / (amemthresh - availmem); > + ipvs->drop_rate = ipvs->drop_counter; > } else { > ipvs->drop_rate = 0; > ipvs->sysctl_drop_packet = 1; > -- > 2.34.1 Regards -- Julian Anastasov