From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 356C4C4167B for ; Tue, 5 Dec 2023 19:55:54 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C62826B0095; Tue, 5 Dec 2023 14:55:53 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id C12BB6B0096; Tue, 5 Dec 2023 14:55:53 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id ADA4F6B0098; Tue, 5 Dec 2023 14:55:53 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 9D40D6B0095 for ; Tue, 5 Dec 2023 14:55:53 -0500 (EST) Received: from smtpin30.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 790031A024B for ; Tue, 5 Dec 2023 19:55:53 +0000 (UTC) X-FDA: 81533820186.30.F3BE990 Received: from mail-il1-f170.google.com (mail-il1-f170.google.com [209.85.166.170]) by imf24.hostedemail.com (Postfix) with ESMTP id 7858D180027 for ; Tue, 5 Dec 2023 19:55:51 +0000 (UTC) Authentication-Results: imf24.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=W6QMd+bH; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf24.hostedemail.com: domain of nphamcs@gmail.com designates 209.85.166.170 as permitted sender) smtp.mailfrom=nphamcs@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1701806151; a=rsa-sha256; cv=none; b=iZ+NkVGlrO6kcBpVeqRUcbwiieNo2KYKWeS/sIi9J6IhRbI2AdnxKBsvGbv91PDpSz+BQx Mi6R3JmyZ5xr+CKOTFqDxy9YPUo5hBzZUlYdBNprFEnXejmlDM60x33MY79TaiK6JkPJ// 9FMsc/4NKWz0dVwOvUymFp5WC7/w464= ARC-Authentication-Results: i=1; imf24.hostedemail.com; dkim=pass header.d=gmail.com header.s=20230601 header.b=W6QMd+bH; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf24.hostedemail.com: domain of nphamcs@gmail.com designates 209.85.166.170 as permitted sender) smtp.mailfrom=nphamcs@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1701806151; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=myAhoAL3FsWsxkQ1Fo/Fp0yF5gBJWm/J11tgIt7SwS0=; b=dHFP3qPz8gsOqTYPc7VXSK4EBJxMPyKs0eVQwK41rIiC1DZjSTap3Yaw5ToscyYARdVqep hOuLkqFH5uoslfw3Te0+gcjMHGagl4QJTjHkZDJRpqjbPV70yt4YtpjP7kKs8NDjIk/SaN ChP1LVEziwGSX5DWa63PraOhXJWrMVU= Received: by mail-il1-f170.google.com with SMTP id e9e14a558f8ab-35d54d7e4bfso19187705ab.3 for ; Tue, 05 Dec 2023 11:55:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1701806150; x=1702410950; darn=kvack.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=myAhoAL3FsWsxkQ1Fo/Fp0yF5gBJWm/J11tgIt7SwS0=; b=W6QMd+bHPFgyPZEQaYEhYq15zAuefQcYG+Y0BFLOAZqAoI6t0PlgMHJEJW87sTWEdJ 5nLJEjGH48Tzr7HKcLA0a0wv7RImJmEk9Y2X5ZX/ZAC2Pq47a1rIOW7xjrpG9yvwhOAD 0YimopS+wsJ1Z850Q6CNu1dgWfXM0snjF6aXTyX7O1rm+5VL/8ox4koE5b7JXk8gtAGX +MAFFD+sJABm9/Dy3p5h3oohFBkVLvPlJuGtxVwtFQa0mDfqngmW0SSHfltmaiUErBW4 CGg2PYO97g1oQtebVYty7prT1e642UG49iONwtpq7KaT/PQuiSJE5lCYesAqR948pr24 +0Wg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1701806150; x=1702410950; 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=myAhoAL3FsWsxkQ1Fo/Fp0yF5gBJWm/J11tgIt7SwS0=; b=OKxQbWjXTLyMFRccC6dN45uZ8PILQKjGC2JRLASAPgHAxz5ZnRrZxmj6dXB7Jetn0t ckHFUd0RHGoAHsNeJoY/yQL5xpPiQxdcTs1koWJF6f1flCBWJU9I7iDYCrH2f2C7Sbq5 O29Txao1U7g5osBs0MPK7df15f/udHfEf2wZpFXzStmqY+2Znqwr3xZfOuv1gH6Jlu6r +boEkeTNaLMWKNN/XBIeNY3C7kT4eAwuZ3iN2IIYWA+Z5dh5k18GQbIE1OWVGXpgDSrQ hoj+Pc8RdjEmBu7Bi7zaIADBx27Yruw20PFCl3D0cjQYzL1vT+XwI494fmjqxjrHkqRQ 83bw== X-Gm-Message-State: AOJu0YzLA0WTTKg6wRqPkdu83zuVv4bOyzV8NM4JAN0Q9nTQLoOg/QuL i6tv2tkND778gMle0kst61c8YT2aUP7eYFmBj7A= X-Google-Smtp-Source: AGHT+IEIJimYnDks1iX4mpQMgslZjhDby25uudRaA2OQ2jItRpcRf05zbeSE0yU6CQvYUIc8pQiJmt3Wi7BmG9YEIvE= X-Received: by 2002:a05:6e02:1d18:b0:35d:6c9d:c339 with SMTP id i24-20020a056e021d1800b0035d6c9dc339mr5624662ila.65.1701806150474; Tue, 05 Dec 2023 11:55:50 -0800 (PST) MIME-Version: 1.0 References: <20231130194023.4102148-1-nphamcs@gmail.com> <20231130194023.4102148-3-nphamcs@gmail.com> In-Reply-To: From: Nhat Pham Date: Tue, 5 Dec 2023 11:55:39 -0800 Message-ID: Subject: Re: [PATCH v8 2/6] memcontrol: implement mem_cgroup_tryget_online() To: Yosry Ahmed Cc: akpm@linux-foundation.org, hannes@cmpxchg.org, cerasuolodomenico@gmail.com, sjenning@redhat.com, ddstreet@ieee.org, vitaly.wool@konsulko.com, mhocko@kernel.org, roman.gushchin@linux.dev, shakeelb@google.com, muchun.song@linux.dev, chrisl@kernel.org, linux-mm@kvack.org, kernel-team@meta.com, linux-kernel@vger.kernel.org, cgroups@vger.kernel.org, linux-doc@vger.kernel.org, linux-kselftest@vger.kernel.org, shuah@kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: 7858D180027 X-Stat-Signature: 1kqiyhieaxxnkefsnq7trnts8birjs6z X-HE-Tag: 1701806151-365643 X-HE-Meta: U2FsdGVkX1946BGCG3lJ7b/T2SYqzXwLML8yhneIoq/9jH/KIJ0l7resaYJS3g1aiFYFJT5z9ruBUCdtrcV8HnXEZX4W/Vq9ZBd5zeFm/U8zKtdR+u+fer6l7n1nzVenKuedRLDd+3l7F3uZ6SeA0oLjU1cJX87H9j4CzghJuTDjTsE9v/JsBK5TqrZdcayrrT0TVRrmqULZzaGELZpwQZ4BJ51ojgbAARqJp3Kanhlyuvf0vtTzWB6ZhvRjdR5nyAoM3Ux4a+dOvpv6JajdnXIpSGWdi3iGE23+tnvrpCKhQ2UXPgt4m7XcA06UdyjX1jWN7xp3ZmiDr2Gcw17TVyw0pztHdny0xSDG53MrP7kY962sWeHOZSK+yh6L/B6IYJpzTs5UyV1S5Iqd4rz2Bz1K+SecXIVa3fuoM24o/u2IeuFBfUUH7JcGUiKfkT3zaRBYyNzZ0QOJ3BGSiIap/s4t4oiDln8CEEuYG6ot+iFd1aRx9BgQbDyPYzj7aZ7aeg19lQn9xSsLrB4b0zcxkju8nOhUim5AGD+gAsZrfrpyD/d3g1n5QLHqPzTH1N89hllKXho9P5LSMSDm9EBAYqa09seMmLZinWMbJbIMdjBDTtij/EHZ9nsvEEWsu/2t0ld7Q5enbfc/26YwKB7oHjA2G99VzeEwUNfV1H3ewqL8UQQ0bXfD6bG5ng3L+2/FE/rxe0NcSIimEp+Lj7Oxw2iznCAIdJqisSmoRX1G0EMDMJ0ZUq1pnBeptPpDNljAh4KwBpRvXCrIRqJ07pl7CwFSWlvFbOS0sjW/rNICzroqbl35NtVt6ASgmcXMGQcnz0xRqa2rnzTyOr/3cnZC1ffBJv0swRyWlB1Mu3Kut3gE097nfwwtvhZ74KIz5BsmhIk2aM6diDjmeAIEpy1oeWf30JaA++hTseN0pJSf5goE/fU8qWumWU2LKv/PZivLVyDCWRSvBzJnzv22795 deyd/p3Q TD16jppPB0rcyvC1Zd7T2kD8CZvdou+d3JfINjbaMD6yGmTSguAI8QYo9y6Iha/cxlqjIFk5GrN9Sx0UM0CKAoOe8bHCCsraon8wWqKckrGdLQe410c3HLqVgHQkmxSoJZHUzjHvIXV64jCfV6e+5QgUmo7PQxD9E8NjmePL+X8nkQ235kOQdbTzgp3yNVTcKbtqm8aPrwlunlqxup+G1Yon/ta/kFjqGs8M4eyLZkuXINKsiCXNr+Nh07OC/SU04hEL4EeQhNSvdYthQr3mIHE95SznVxhX0kZ9SJposXTvHj1fWnXzJwjNQPkUZsC5gjS8tV3v4R2S3+3B+lmUJtnBYVoHnCqMQg/bvVunYYru2McJmw0mUhaIiIuP6gxeJQC2R6cFS+eYmCOyUSKrMldvuA1jXAuGKvqKK2/cP01vH5VbPz2up3HWxL9tIC3+JjsTa X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: On Tue, Dec 5, 2023 at 10:03=E2=80=AFAM Yosry Ahmed = wrote: > > On Thu, Nov 30, 2023 at 11:40=E2=80=AFAM Nhat Pham wr= ote: > > > > This patch implements a helper function that try to get a reference to > > an memcg's css, as well as checking if it is online. This new function > > is almost exactly the same as the existing mem_cgroup_tryget(), except > > for the onlineness check. In the !CONFIG_MEMCG case, it always returns > > true, analogous to mem_cgroup_tryget(). This is useful for e.g to the > > new zswap writeback scheme, where we need to select the next online > > memcg as a candidate for the global limit reclaim. > > > > Signed-off-by: Nhat Pham > > Reviewed-by: Yosry Ahmed Thanks for the review, Yosry :) Really appreciate the effort and your comments so far. > > > --- > > include/linux/memcontrol.h | 10 ++++++++++ > > 1 file changed, 10 insertions(+) > > > > diff --git a/include/linux/memcontrol.h b/include/linux/memcontrol.h > > index 7bdcf3020d7a..2bd7d14ace78 100644 > > --- a/include/linux/memcontrol.h > > +++ b/include/linux/memcontrol.h > > @@ -821,6 +821,11 @@ static inline bool mem_cgroup_tryget(struct mem_cg= roup *memcg) > > return !memcg || css_tryget(&memcg->css); > > } > > > > +static inline bool mem_cgroup_tryget_online(struct mem_cgroup *memcg) > > +{ > > + return !memcg || css_tryget_online(&memcg->css); > > +} > > + > > static inline void mem_cgroup_put(struct mem_cgroup *memcg) > > { > > if (memcg) > > @@ -1349,6 +1354,11 @@ static inline bool mem_cgroup_tryget(struct mem_= cgroup *memcg) > > return true; > > } > > > > +static inline bool mem_cgroup_tryget_online(struct mem_cgroup *memcg) > > +{ > > + return true; > > +} > > + > > static inline void mem_cgroup_put(struct mem_cgroup *memcg) > > { > > } > > -- > > 2.34.1