Received: by 2002:a05:7412:37c9:b0:e2:908c:2ebd with SMTP id jz9csp2221576rdb; Thu, 21 Sep 2023 11:58:32 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEfy0/SNkTn2gRqi95L3V9yiC8E3DptIBa76ohhv5zO6/K/77/OL+4uLqotOp9oZKfzodjP X-Received: by 2002:a05:6a00:2d19:b0:68f:da2a:6370 with SMTP id fa25-20020a056a002d1900b0068fda2a6370mr7097557pfb.13.1695322711786; Thu, 21 Sep 2023 11:58:31 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1695322711; cv=none; d=google.com; s=arc-20160816; b=juPvcbCbKpNxMyvhYb+/DFH4U+11yUynremGgLXry9k6mwpFnMjTeygtnqnCbryCZU rRK6d5JoDgWX/eWze9ZA0nbn2MjXkkzs6C0HpyzauqvBd7BYyikyJGdtfmsOheSpN1hS Xc57+DyBp0fVogEK74NPsOCHnKUBUmU79fhKNZl+AQ4AesfdnSFuHKVtxRoSHOWxE985 3PT4tZqraO+WXsHAG2CmLtrcDzbqIi7vPho9QlE5rE78VPNHgi+nZyxaacHfI28o2nVk ay1J6NxbKNTKUAEfrjs/cgtAHmTnIazW4W9thMTlBWUh3I4ek8eyPLuxxSOpgjyih7be J9Rg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=Veqgzooa62QmybSGRdTR/S+eXJyNjQh+8DoJnl67H20=; fh=QcdBZURp0YhSxDZbF7dx1xWNLVSxc4Aa/xU3ENB7y4g=; b=I26H9hpBjMzzgKXDco0rAXZWmwqTGIcGtNXnZL8284Sh8zfdOFUCXdTDmqBDJ76XcQ 1Igjq0AaUF8rbTSK7MuYp9aZGYMWe9Z/tnD7FitQbIMJnN3Cj+2oLw8oHQvIvON5NIGn /zrxCg9aAteJEnYM8Z1Oej4Jk5sDU6YszS2R8OF57yQ8zQhP/7QAfJKgF1CDrxd6PenL JvQV4/6O2PXvzGxEvN1I3GlDxMdzt2yOcBD77J8Id8XYn61pAVppNKhMr45/JkB1Uwm0 4wSa0HeIqhF7Vht3sYPcPOE+Znqs4oR5zsGKzIUCvVomFV26quFQZicMPb2MsBgxWOS2 kIqQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@bytedance.com header.s=google header.b=ipHZ8Z3W; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.38 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=bytedance.com Return-Path: Received: from fry.vger.email (fry.vger.email. [23.128.96.38]) by mx.google.com with ESMTPS id k5-20020a634b45000000b00578b8d202b0si1894689pgl.536.2023.09.21.11.58.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 Sep 2023 11:58:31 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.38 as permitted sender) client-ip=23.128.96.38; Authentication-Results: mx.google.com; dkim=pass header.i=@bytedance.com header.s=google header.b=ipHZ8Z3W; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.38 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=bytedance.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by fry.vger.email (Postfix) with ESMTP id BB712831E28A; Wed, 20 Sep 2023 06:27:17 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at fry.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235292AbjITN1N (ORCPT + 99 others); Wed, 20 Sep 2023 09:27:13 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36326 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235161AbjITN1K (ORCPT ); Wed, 20 Sep 2023 09:27:10 -0400 Received: from mail-pf1-x431.google.com (mail-pf1-x431.google.com [IPv6:2607:f8b0:4864:20::431]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id DA1FAE9 for ; Wed, 20 Sep 2023 06:26:43 -0700 (PDT) Received: by mail-pf1-x431.google.com with SMTP id d2e1a72fcca58-690d9cda925so805848b3a.3 for ; Wed, 20 Sep 2023 06:26:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bytedance.com; s=google; t=1695216403; x=1695821203; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Veqgzooa62QmybSGRdTR/S+eXJyNjQh+8DoJnl67H20=; b=ipHZ8Z3WL9/25ZW0+MNk9TeR9jY9PL5OAp4V84XHg4ATa/Gnoosw/GPBme6c9Fqo6D G0PSRfiSLTg/Xy4sIcmPRj1nbyGi0eR+8SzcbCDnniJHSrOUcBVl3D4prO8p7mORpbUz zckcZk3rK1O3fM2OSEMWBwlXQSReckOBeVlChQwcKK9kR8QT1dQj8oLtUMzbcXH2aCzk VgnUQjWzJXASaof5gx+RPnydnXM1Gouyg6aXlDizPajes6XEv/hWVaWAvteJbqhalt9I 7PTHFTe05h8Ko9V2SnyVujMFeZUb1isv1jV2CCNfLuqdAD49vKc9QL2sVX9eHpIT7UH6 Baeg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1695216403; x=1695821203; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Veqgzooa62QmybSGRdTR/S+eXJyNjQh+8DoJnl67H20=; b=XQE7kmpBTSitd7SNAQ06686xDhpe7dqtst6rrMU0azITBwX8HjuPV81RtsBhFpttrA 3zvbqLnP054eEQH4P4z4A/vmP2ZCulsoYlIWcRU0jcM4Omx4X5Aggg3IDWI4IiqPpdZr YUbWb653klQz9FgNAdoeKZW+41sVJRSIxW+CldiCSr2E9sEpePBd/ccydpihNbyi7D0d luOvMFCaKa7bhGmVDkcvDnshdLBNYmM3HL7t6Wx7W9e2/Q4dpr1kV7iQVywQEvrIVbUs olGyLl7Mh1RkrGoheUcbhU5wB9PMeM5V7Tucm7w0+yX67EsTIjuc+59tmAdbN9weSQO1 8rhA== X-Gm-Message-State: AOJu0YwqcJFB4jczj+L3PaaZaukIVoGAqF+L/BUQJyPYybYk3B/1CQFa k8MXay0THM8/s4beb0AJojFlvA== X-Received: by 2002:a17:90b:f8b:b0:274:6ab9:9d38 with SMTP id ft11-20020a17090b0f8b00b002746ab99d38mr2489052pjb.36.1695216403079; Wed, 20 Sep 2023 06:26:43 -0700 (PDT) Received: from C02DV8HUMD6R.bytedance.net ([139.177.225.242]) by smtp.gmail.com with ESMTPSA id cl21-20020a17090af69500b002682392506bsm1333485pjb.50.2023.09.20.06.26.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 20 Sep 2023 06:26:42 -0700 (PDT) From: Abel Wu To: Shakeel Butt , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Kuniyuki Iwashima , Abel Wu , Breno Leitao , Alexander Mikhalitsyn , David Howells , Jason Xing , Xin Long , Glauber Costa , KAMEZAWA Hiroyuki Cc: netdev@vger.kernel.org (open list:NETWORKING [GENERAL]), linux-kernel@vger.kernel.org (open list) Subject: [PATCH net-next 2/2] sock: Fix improper heuristic on raising memory Date: Wed, 20 Sep 2023 21:25:41 +0800 Message-Id: <20230920132545.56834-2-wuyun.abel@bytedance.com> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20230920132545.56834-1-wuyun.abel@bytedance.com> References: <20230920132545.56834-1-wuyun.abel@bytedance.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-0.9 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on fry.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (fry.vger.email [0.0.0.0]); Wed, 20 Sep 2023 06:27:17 -0700 (PDT) Before sockets became aware of net-memcg's memory pressure since commit e1aab161e013 ("socket: initial cgroup code."), the memory usage would be granted to raise if below average even when under protocol's pressure. This provides fairness among the sockets of same protocol. That commit changes this because the heuristic will also be effective when only memcg is under pressure which makes no sense. Fix this by skipping this heuristic when under memcg pressure. Fixes: e1aab161e013 ("socket: initial cgroup code.") Signed-off-by: Abel Wu --- net/core/sock.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/net/core/sock.c b/net/core/sock.c index 379eb8b65562..ef5cf6250f17 100644 --- a/net/core/sock.c +++ b/net/core/sock.c @@ -3093,8 +3093,16 @@ int __sk_mem_raise_allocated(struct sock *sk, int size, int amt, int kind) if (sk_has_memory_pressure(sk)) { u64 alloc; - if (!sk_under_memory_pressure(sk)) + if (memcg && mem_cgroup_under_socket_pressure(memcg)) + goto suppress_allocation; + + if (!sk_under_global_memory_pressure(sk)) return 1; + + /* Trying to be fair among all the sockets under the + * protocol's memory pressure, by allowing the ones + * that below average usage to raise. + */ alloc = sk_sockets_allocated_read_positive(sk); if (sk_prot_mem_limits(sk, 2) > alloc * sk_mem_pages(sk->sk_wmem_queued + -- 2.37.3