Received: by 2002:a05:7412:37c9:b0:e2:908c:2ebd with SMTP id jz9csp2412912rdb; Thu, 21 Sep 2023 19:22:14 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFJITxF6hcFf+uTom+uTbcDo+VUZig3qg9xSsc2upB3p86FdK9RAB81g5B3ULIdpUZCf4FS X-Received: by 2002:a17:903:32c3:b0:1c3:ed30:ce06 with SMTP id i3-20020a17090332c300b001c3ed30ce06mr7980534plr.17.1695349334236; Thu, 21 Sep 2023 19:22:14 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1695349334; cv=none; d=google.com; s=arc-20160816; b=mypKCHzWjAfTUSEI2zfIn+kPAHpnP9r3IXKtWzI6J1EKQ39EjYUnw2S4e+PPpcNZfR yfLjOXV6alt7RFF2P/exjKDvKVt5DYYjEZg03+Ki9WGMHnXhsx6JrNw6rrJ4KOq1hRWP oRCeGnPlfVPIHJlc8R+C9mONiFxQs/8Y57yEGxNw4ukP8L2kNHOng6qHCs9gKUUSHOeD DF0WlCjuM9mdpOe+/HbgryHthkYUy8PVccVxroc6unyJD6Vaoz3oqOnO9CIwe5YW7KkK gHqGouVtbuvLoqK1njx2r1U+22AkrDE250SbODYZG1gZLCPDH+EcCHTzIKn+/O1Wprlu xWGw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:from:subject:message-id:references :mime-version:in-reply-to:date:dkim-signature; bh=5idGDJHajfRBbMuSzPd4i5/t54vfHNdbr48RChRWzqM=; fh=Jk+SMbUF1mFA8z/GIldKn7BVDlGpdLZ7QZ5F9WT0l/8=; b=mJWIe/U8lnpg2IpHJcv14TTnrkmwPFWGTwm7cdSyc3xcvfyoBKhylTmGAgKrN2kyXv FFE7L5iFneru/IVmBJWts1Eg2V6iKFw4Ujb4oHyRCMy40zWQtJkpuEoINeepVyAM1IFv gnDOVywWbNRTw1dOR6Xk92aHMrgADB4TKLK01ktGi4GTC+W7+sVUL3Z/g1Ak7ciBeXKW uwpG5Bvh5lNJWH5PCEP/TGLCRgXkWoWmEWE3Lad5xmsREmAhBvDuDhvPuaFd5/t4ZQHH QcTK2YRNYUD/G6rWSHjXlemkF+8y6yLOw/jiS9NgPIsUZWr3kvKw08AO+u8gYvihkTuf Vlzg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20230601 header.b=2BooiXDR; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:6 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from pete.vger.email (pete.vger.email. [2620:137:e000::3:6]) by mx.google.com with ESMTPS id ko14-20020a17090307ce00b001b8b7460620si2536977plb.181.2023.09.21.19.22.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 21 Sep 2023 19:22:14 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:6 as permitted sender) client-ip=2620:137:e000::3:6; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20230601 header.b=2BooiXDR; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:6 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by pete.vger.email (Postfix) with ESMTP id 6836683A63E8; Thu, 21 Sep 2023 12:55:11 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at pete.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229694AbjIUTzE (ORCPT + 99 others); Thu, 21 Sep 2023 15:55:04 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45452 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230494AbjIUTye (ORCPT ); Thu, 21 Sep 2023 15:54:34 -0400 Received: from mail-yw1-x1149.google.com (mail-yw1-x1149.google.com [IPv6:2607:f8b0:4864:20::1149]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 56797803FC for ; Thu, 21 Sep 2023 12:02:00 -0700 (PDT) Received: by mail-yw1-x1149.google.com with SMTP id 00721157ae682-59c0327b75dso17245137b3.2 for ; Thu, 21 Sep 2023 12:01:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1695322919; x=1695927719; darn=vger.kernel.org; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=5idGDJHajfRBbMuSzPd4i5/t54vfHNdbr48RChRWzqM=; b=2BooiXDRdGdVMAlVcBWQCNkTEkbZrHYrWY31LpUZEk3fc9eDkThZx1AwQUhKMDHkf5 UEyShVv3rLaiV+P0txfMCu8MFamgMEoSeykzTzRYfhJiK7l3FTwudW7TF2GY6cMIItPu mapw67pjL/Xp6/6FZWKO4aDatRspS7w3PvHw5jx+fYJzj3jiq7O10CBFxYbRTpZvkvKO C2UAyiwt4K87AE6oq/qeak2O6pgrFVjeVTPo7Sbv1PJyk5ia01xFsOHhPoGnk6TJRTWW uj4QSq4wDmgUk9K61I2I/5B6GmcisxUc0apclpo1nVwVDm0qZVujLDa51jAfqqcswzI2 UNtg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1695322919; x=1695927719; h=cc:to:from:subject:message-id:references:mime-version:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=5idGDJHajfRBbMuSzPd4i5/t54vfHNdbr48RChRWzqM=; b=YoS++JbXKOKSDFefQKbfy5TrKBBFO6j78aKvysutL+vedRZCa3y252UMHHqke0AHE/ T+KbyoUlLc5P2p9uX91ZIZ08Od7qnuszYsUAsqq1iBGhuv0T6UkuTBY8W+ztY5mz1Y71 acxi5eRlazxIVCuaswQFkdKnGNAD/613LzFbVLKhmJhTzgZK/zAJGrWWuMunTKQiT2/V R4lh5MtRLLwQbEOE+ANi+fmwaKWu5A1z7nH0UUR37qBK9HguRjtsXIcfT1154B6QWkP9 ccEr6Cf06T9KTPN7tYWqQBOmHj/QMmxwOUmfxj3pf3W9VxxeVXWtjz0FyjxBOvPmAPkC DOHw== X-Gm-Message-State: AOJu0YxSuiBGu8mYFkc5y8geKpa7hwxuCrxnuoDzDs0wTmnBuQ+5Ct9E pFvrkcj/4dkI7p3jC4KiChJsx4PS6JIa0g== X-Received: from shakeelb.c.googlers.com ([fda3:e722:ac3:cc00:7f:e700:c0a8:262e]) (user=shakeelb job=sendgmr) by 2002:a05:6902:a84:b0:d7b:94f5:1301 with SMTP id cd4-20020a0569020a8400b00d7b94f51301mr93080ybb.9.1695322919028; Thu, 21 Sep 2023 12:01:59 -0700 (PDT) Date: Thu, 21 Sep 2023 19:01:56 +0000 In-Reply-To: <20230920132545.56834-2-wuyun.abel@bytedance.com> Mime-Version: 1.0 References: <20230920132545.56834-1-wuyun.abel@bytedance.com> <20230920132545.56834-2-wuyun.abel@bytedance.com> Message-ID: <20230921190156.s4oygohw4hud42tx@google.com> Subject: Re: [PATCH net-next 2/2] sock: Fix improper heuristic on raising memory From: Shakeel Butt To: Abel Wu Cc: "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Kuniyuki Iwashima , Breno Leitao , Alexander Mikhalitsyn , David Howells , Jason Xing , Xin Long , Glauber Costa , KAMEZAWA Hiroyuki , "open list:NETWORKING [GENERAL]" , open list Content-Type: text/plain; charset="us-ascii" X-Spam-Status: No, score=-8.4 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_IN_DEF_DKIM_WL autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on pete.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 (pete.vger.email [0.0.0.0]); Thu, 21 Sep 2023 12:55:11 -0700 (PDT) On Wed, Sep 20, 2023 at 09:25:41PM +0800, Abel Wu wrote: > 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; I am onboard with replacing sk_under_memory_pressure() with sk_under_global_memory_pressure(). However suppressing on memcg pressure is a behavior change from status quo and need more thought and testing. I think there are three options for this hunk: 1. proposed patch 2. Consider memcg pressure only for !in_softirq(). 3. Don't consider memcg pressure at all. All three options are behavior change from the status quo but with different risk levels. (1) may reintroduce the regression fixed by 720ca52bcef22 ("net-memcg: avoid stalls when under memory pressure"). (2) is more inlined with 720ca52bcef22. (3) has the risk to making memcg limits ineffective. IMHO we should go with (2) as there is already a precedence in 720ca52bcef22. thanks, Shakeel