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 79DF6D64097 for ; Fri, 8 Nov 2024 23:03:59 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 087DB6B00A2; Fri, 8 Nov 2024 18:03:59 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 00F5C6B00A4; Fri, 8 Nov 2024 18:03:58 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id DCBB16B00A5; Fri, 8 Nov 2024 18:03:58 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id BB63F6B00A2 for ; Fri, 8 Nov 2024 18:03:58 -0500 (EST) Received: from smtpin15.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id 6630340F95 for ; Fri, 8 Nov 2024 23:03:58 +0000 (UTC) X-FDA: 82764456474.15.44225F4 Received: from mail-qv1-f44.google.com (mail-qv1-f44.google.com [209.85.219.44]) by imf11.hostedemail.com (Postfix) with ESMTP id 7A9CF40002 for ; Fri, 8 Nov 2024 23:03:10 +0000 (UTC) Authentication-Results: imf11.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=nU33UkPO; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf11.hostedemail.com: domain of yosryahmed@google.com designates 209.85.219.44 as permitted sender) smtp.mailfrom=yosryahmed@google.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1731106951; 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=tIqNr8n5Q+6xVneCWLzpkwEOR9ImhdwgHevVJ+8laqQ=; b=r0PfFNjJUIKdecPD4eIU0v135NQldR61Lj2PVaKWkOTCA/its/w3a1/wcGUlASSLoZ56DO IulY55c8+NNUTTwt1sQi9NkTS77XUA+FaacAZXMgVvHAig1E5Bp6oSszSXqq2KBuaq6JB2 04NUAw8JiHUdk/7qxdPm7XawyMXrvTE= ARC-Authentication-Results: i=1; imf11.hostedemail.com; dkim=pass header.d=google.com header.s=20230601 header.b=nU33UkPO; dmarc=pass (policy=reject) header.from=google.com; spf=pass (imf11.hostedemail.com: domain of yosryahmed@google.com designates 209.85.219.44 as permitted sender) smtp.mailfrom=yosryahmed@google.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1731106951; a=rsa-sha256; cv=none; b=VupxKmwpXurGviHYbwanc9v+EZEBn0Slh7zIHIcqr7imURpTbH2Hw+m55UwihIweBs6pXr xkFyLHUjBSr/HJqq7Vnb8lrMubo9AmS/5WCxmTnHeZTxu1VB4b4mTqTFyreSkblsQpJDBQ 7GwOcC0MDgAcfM/MsiqxzMf4WrYF5Q0= Received: by mail-qv1-f44.google.com with SMTP id 6a1803df08f44-6cbcc2bd7fcso16460756d6.1 for ; Fri, 08 Nov 2024 15:03:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1731107036; x=1731711836; 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=tIqNr8n5Q+6xVneCWLzpkwEOR9ImhdwgHevVJ+8laqQ=; b=nU33UkPOWDr6pKYT3MbSKq/Tm0g9pN5zT5xDb4pNZw/AyLdI3vhSs74exQmgvwXvBb wtA44pkVnRiIquOeyHrpe70LEDZvlzrza8KEhvxD5LzArxHloNBGfn7XxCDlUicM+mwt Oz33a3e1FmD3+NTBm8PhQAxI1YKqLifTUpYazrnncKSnPKaiyFQXt1RDeE3rq8ir9vVN lFNcD8o0HcoYNcW4zyTRBPTKwVz8BTcy7mNkw+BUgJW1uZ34h+m61h9jSgEKvHv99j3Q Hpkcxoj5Ker3KENuvl4tRJE7rRxCgwW6E6Y/ODnKxd0x+Uv9tw4ouweVdGRgKYS+Ppyg YRWA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1731107036; x=1731711836; 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=tIqNr8n5Q+6xVneCWLzpkwEOR9ImhdwgHevVJ+8laqQ=; b=bWJlUijKXIOJxiq2tw37XCnXNLb1Y+ytOOnhUzDPSPdpWkK1Y9YfwI7UC2AHjvYsd5 qHKQPCcsOdngY8Zw5S2zk08hYTa4QAKYwptzGXY/UUtxThNzOOKWjb4kEPevpLmf4xXj fJU34fDxS6cGq+HnV3fuXU/6dWinPlP9KfTldLQso80Nhos5+f8PcDDRUr7FFqcBnU/O Hpf7cFoB1QeV/wQhAUxxYU9lGo5b/23BH29P5SsIE/RSVr1sqaqp9DID4iaEtzSNp0T1 nTaiLt1iUQliDs1kOv2NT10l0SAm7hkipy92tPmaR5FLT/ekv5qpIeff1v2tCpFlPTd+ TbvA== X-Forwarded-Encrypted: i=1; AJvYcCUmaylDwZck07xMVItcYNhYpp0HIOdWbULSqMhEevtPcqIdP+gTXK3kqRLAaRz+buxF+AjmTriDTQ==@kvack.org X-Gm-Message-State: AOJu0YzaFD8SXEtCyGdjvZHgurnTZoBM13NYOmf4JcNF+LVXrxO0MPEE w7hlqI9TVdH+jLRwXFEt7m3l3Bl+T4yZ9MQD2o+m9/bNo63RnYU9gPRZ+2rj7eD1fEzBi30bzP3 tpK1susJYbQqyVGwe8zTI1dsAU0PT4Wb00Mu5 X-Google-Smtp-Source: AGHT+IF0DcHtAtl0/LV2MseLtaG4KI0F/nNF7x0b+EhqMH4axwCSZr+1OVbL8i5Uxp8n4TbecwCEjPgVxXNXusRey7o= X-Received: by 2002:a05:6214:3287:b0:6cb:d1ae:27a6 with SMTP id 6a1803df08f44-6d39e150719mr51722326d6.24.1731107035523; Fri, 08 Nov 2024 15:03:55 -0800 (PST) MIME-Version: 1.0 References: <20241108212946.2642085-1-joshua.hahnjy@gmail.com> <20241108212946.2642085-2-joshua.hahnjy@gmail.com> In-Reply-To: From: Yosry Ahmed Date: Fri, 8 Nov 2024 15:03:18 -0800 Message-ID: Subject: Re: [PATCH 1/3] memcg/hugetlb: Introduce memcg_accounts_hugetlb To: Shakeel Butt Cc: Joshua Hahn , hannes@cmpxchg.org, mhocko@kernel.org, roman.gushchin@linux.dev, muchun.song@linux.dev, akpm@linux-foundation.org, cgroups@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org, kernel-team@meta.com Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Rspam-User: X-Rspamd-Server: rspam03 X-Rspamd-Queue-Id: 7A9CF40002 X-Stat-Signature: e94d66mmepycagds5ngt9u4ke8syb8se X-HE-Tag: 1731106990-832714 X-HE-Meta: U2FsdGVkX1+uREolsI1Onwc1K5hAqE/M07dsCWZ/qt2A6nX+HkpCZnqlwHlXDdigPV1wqF2YxIKw5Xi6q3ONIxP+bsEnoo0I6jGTXa1yVJEtNaJboZGnns2+BlXaq51zhtQ+Rik0G9xhOOP1ma1C5dySER8y88lJidEYpfQY2j9BZ6VOe03GKgF8OfDr4A+EuRz5H0cGV8KEmTsiCfoNgF6vER9zpmQhMk4Mbf0ivyckEgAbeGvKpMvY6YGAYSv+qtpe+OGUttQ2TDdPCpKB+P0pI8sy91sVzXPL79SmUtC2ssA4grhUin2PTYgNdz+IIaATTZ85KQBCWANsZOqPIXpxfbRORo6ignBDToCV8fnTfDHmt//Lvso5UZO8uaEP3PpcrN2UKByhJn+pGbRUs0BBrtFKv0E/lT6p6BhS/vRSNLlv59wwRwgUhUPWQWYdGOlbTr/vGPA19lpWuen+xab+NALjZsMpDu6LERZfVEUSi+VK0WAJNnf+WcyJlcA/c6bgDRQrZ2C72IG3UGN5nKh4B2fMIGc5xZU40f6S/boZek6fwHUy8L937/f8PrghiqZPueVFfwt/Yitqw4IQmG0yWl20fjJK/HQT3gHqBP8lu0iPcYWzMuXwhmGVn4xAw+S9nKXct3J2lDQZnpKNmqZdEWFePJMf5HLWy+REPubUa0aJGy+qBd71nYU7yRhcq9A+sWdIUwqAIFbZnRST3/kBnnfRnJqja3gLJOrh8EcSoUVxJ71IXncZHvC+KUf8+1Gp1ybKy3LZK4Z0rkGMYk4elsBHd4hRQ+2FwdkFNOsWO8H9J0cEYd8Qi2SzTiOU9WXKuz8hf8bF5ho76YbgLu+MKQob0IGKN0MsZca7xS3KhkUHzvBDjEDK1oOvtL5H8C8qIL1hPsjwyyenQzNJ0Z5lDKeelOa+sEIAbQ4rVOx2K2Fey2HNsBqyN+lLs23ZAw4g+/wxirxx3ZHgo5f 9m0+fAB0 78kMNsKf9PjLXGzEwiUfwziGs1vOYQGyNwY0y7fUrXb6XQNOwymrbE8USKJGRXKJSA0xtT/DAcvJdsWUAqrBG/IakgOWX4/Rck7Psg7+erdI22x0W7EHYRHQb25Gdfdw7u5nknl6/68bbhKwvbKpXQGzxK6yR6MOwfgiA/pbre+pSsnQfqH5GqPeRjOiqTjHxoAzXmWoXIeZEkXGxbqaq5K11v2gXFdvsnBoDNRaKskYjbLEPiH3WarjXNxxLTwILqcbGWzGrmiVyc7bCCPA+2IVKuqhdagX9Vk17wflvRNkhY0QL/8eKFIPRx0VmB7eKESpsOup97nTkwnUeg04rTr5vJQ== 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 Fri, Nov 8, 2024 at 2:21=E2=80=AFPM Shakeel Butt wrote: > > On Fri, Nov 08, 2024 at 01:29:44PM -0800, Joshua Hahn wrote: > > This patch isolates the check for whether memcg accounts hugetlb. > > This condition can only be true if the memcg mount option > > memory_hugetlb_accounting is on, which includes hugetlb usage > > in memory.current. > > > > Signed-off-by: Joshua Hahn > > > > --- > > mm/memcontrol.c | 17 ++++++++++++++--- > > 1 file changed, 14 insertions(+), 3 deletions(-) > > > > diff --git a/mm/memcontrol.c b/mm/memcontrol.c > > index f3a9653cef0e..97f63ec9c9fb 100644 > > --- a/mm/memcontrol.c > > +++ b/mm/memcontrol.c > > @@ -1425,6 +1425,9 @@ unsigned long memcg_page_state_local_output(struc= t mem_cgroup *memcg, int item) > > memcg_page_state_output_unit(item); > > } > > > > +/* Forward declaration */ > > +bool memcg_accounts_hugetlb(void); > > No need for forward declaration. Just define it here and make it static. Also please pull the #ifdef outside the function definition, e.g. #ifdef CONFIG_HUGETLB_PAGE static bool memcg_accounts_hugetlb(void) { return cgrp_dfl_root.flags & CGRP_ROOT_MEMORY_HUGETLB_ACCOUNTING; } #else /* CONFIG_HUGETLB_PAGE */ static bool memcg_accounts_hugetlb(void) { return false; } { return false; } #endif /* CONFIG_HUGETLB_PAGE */ > > > + > > static void memcg_stat_format(struct mem_cgroup *memcg, struct seq_buf= *s) > > { > > int i; > > @@ -1446,7 +1449,7 @@ static void memcg_stat_format(struct mem_cgroup *= memcg, struct seq_buf *s) > > > > #ifdef CONFIG_HUGETLB_PAGE > > if (unlikely(memory_stats[i].idx =3D=3D NR_HUGETLB) && > > - !(cgrp_dfl_root.flags & CGRP_ROOT_MEMORY_HUGETLB_ACCO= UNTING)) > > + !memcg_accounts_hugetlb()) > > continue; > > #endif > > size =3D memcg_page_state_output(memcg, memory_stats[i].i= dx); > > @@ -4483,6 +4486,15 @@ int __mem_cgroup_charge(struct folio *folio, str= uct mm_struct *mm, gfp_t gfp) > > return ret; > > } > > > > +bool memcg_accounts_hugetlb(void) > > +{ > > +#ifdef CONFIG_HUGETLB_PAGE > > + return cgrp_dfl_root.flags & CGRP_ROOT_MEMORY_HUGETLB_ACCOUNTING; > > +#else > > + return false; > > +#endif > > +} > > + > > /** > > * mem_cgroup_hugetlb_try_charge - try to charge the memcg for a huget= lb folio > > * @memcg: memcg to charge. > > @@ -4508,8 +4520,7 @@ int mem_cgroup_hugetlb_try_charge(struct mem_cgro= up *memcg, gfp_t gfp, > > * but do not attempt to commit charge later (or cancel on error)= either. > > */ > > if (mem_cgroup_disabled() || !memcg || > > - !cgroup_subsys_on_dfl(memory_cgrp_subsys) || > > - !(cgrp_dfl_root.flags & CGRP_ROOT_MEMORY_HUGETLB_ACCOUNTI= NG)) > > + !cgroup_subsys_on_dfl(memory_cgrp_subsys) || !memcg_accou= nts_hugetlb()) > > return -EOPNOTSUPP; > > > > if (try_charge(memcg, gfp, nr_pages)) > > -- > > 2.43.5 > > >