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 36675CA0EC8 for ; Tue, 12 Sep 2023 01:49:16 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 94B1B6B00B1; Mon, 11 Sep 2023 21:49:15 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 8FB0D6B00B2; Mon, 11 Sep 2023 21:49:15 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 7E9E66B00B3; Mon, 11 Sep 2023 21:49:15 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id 706E56B00B1 for ; Mon, 11 Sep 2023 21:49:15 -0400 (EDT) Received: from smtpin17.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 4B84AA048A for ; Tue, 12 Sep 2023 01:49:15 +0000 (UTC) X-FDA: 81226262670.17.16FD353 Received: from mail-pl1-f175.google.com (mail-pl1-f175.google.com [209.85.214.175]) by imf15.hostedemail.com (Postfix) with ESMTP id 716A7A0007 for ; Tue, 12 Sep 2023 01:49:13 +0000 (UTC) Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=GLqUucOm; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf15.hostedemail.com: domain of haoxing990@gmail.com designates 209.85.214.175 as permitted sender) smtp.mailfrom=haoxing990@gmail.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1694483353; 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=4C6fCAbfQ04p8mFbrpL2ZAAFU2CUe5VETqkFVwtItV8=; b=OcQ4zePZJx6+814yLnISSVs/nU3nMf4Er5lpQTrKqbToQjvhm8ybw/uSYcz9kQjm8I6qNB JxzQnkJAqhA26NGCs6oSd3HCez8dRm/W404nVzx6sYz/jK06H/prnXMLj7ejHVZdq09vph ZZJNa4N+QL+mYowbCajKymrI7Rer0iw= ARC-Authentication-Results: i=1; imf15.hostedemail.com; dkim=pass header.d=gmail.com header.s=20221208 header.b=GLqUucOm; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (imf15.hostedemail.com: domain of haoxing990@gmail.com designates 209.85.214.175 as permitted sender) smtp.mailfrom=haoxing990@gmail.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1694483353; a=rsa-sha256; cv=none; b=XwBZ0K4TRQulyDmx8c7XX7tcejxbRi11BpxitwODhecA7b5k3NE9fWeU0dbPm8UugKClCY UNM7jK2hg82D4dBeM1amztyL/jA3ODdPxpr7zB3egFYAKVbsd5Xo1W6yRmlJwEzZbA3MGk NysW0hDa87q+MYeOf1lJdUwLkqWSb+4= Received: by mail-pl1-f175.google.com with SMTP id d9443c01a7336-1c337aeefbdso46750165ad.0 for ; Mon, 11 Sep 2023 18:49:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1694483352; x=1695088152; darn=kvack.org; h=content-transfer-encoding:in-reply-to:from:references:cc:to:subject :user-agent:mime-version:date:message-id:from:to:cc:subject:date :message-id:reply-to; bh=4C6fCAbfQ04p8mFbrpL2ZAAFU2CUe5VETqkFVwtItV8=; b=GLqUucOmJ9kcm/pQ2wTtSxw06FP6GQDSwm8Rws6GHPz2U+wIPzWJ38t/d3wEFwN4nJ 5Ik2z5Kg/YdpXS9fEkb6f5Hry//iNJAXP8MUk7tqRGo+gT7UCD3qsWImuqxtiSYMK9Nw K8am/ElggRkwEz9Aul/6fJUii8hUXKgjykkJtaTURXWk2Hwz07dC7boLxKzPnARa/xVi 37L1X/R7voBscJ7DaP7GUk90ow97eAv2YbQ5FvCixd8DLA2pC2iAELSFqZA69/Poqv0K sI4DTJHly28/wlDZ5Qlv1ubNu88dKRnYrOGrsm5bLbEVZqvsFnuSRfmFkeDKRKxxNyW7 ipkg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1694483352; x=1695088152; h=content-transfer-encoding:in-reply-to:from:references:cc:to:subject :user-agent:mime-version:date:message-id:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=4C6fCAbfQ04p8mFbrpL2ZAAFU2CUe5VETqkFVwtItV8=; b=mtx0sCvVkv+P30YY7DpwLgfsz6jctIjG5loOnSBDgN8lBBTaha80jB/gHVgQV1qNPx +xCBtekUhgQGLER2dG7JfKuLqws+d3jYLN+61XEh1VgdQt1EQ3QHLnZts0huFDC569lH hzrhUoC/3WAbkENZsYRp1UEvYcRYyK1/njB4zQOKqH+lIj1RDsvXHdxl+Y2DqVNlhZ7w kvCLrKlkNgEKUup67nisLlyWXsgwUZwx/sYQgQE6/PsuUgnbLp5UJLc3P0z2JUa/4Psh iPUgCmDdTyId2cJ7NRHlx+ySQ7ye7jSooIHqgTcvla8gKFQpo9BVTn/qdaE93GS0EHJE o7Jg== X-Gm-Message-State: AOJu0YxMc2vYJQ4GA206BCtMXCtqDR6qHGahlT6v0SnxmyyXlqNOgh20 HDgiYMk7zdv4eSIw2PFC7tw= X-Google-Smtp-Source: AGHT+IGVYjG3N6xVMjxqCoTiiJoeOMMyzd6MFy06jlIH1Xgq48nNfB+PxN+XfZvjb+AdQK1tZEGjpQ== X-Received: by 2002:a17:902:db11:b0:1bc:61d6:5fcc with SMTP id m17-20020a170902db1100b001bc61d65fccmr14277093plx.51.1694483352171; Mon, 11 Sep 2023 18:49:12 -0700 (PDT) Received: from [192.168.255.10] ([103.7.29.31]) by smtp.gmail.com with ESMTPSA id g22-20020a170902869600b001bdc3768ca5sm7138187plo.254.2023.09.11.18.49.09 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 11 Sep 2023 18:49:11 -0700 (PDT) Message-ID: <6b0447d0-30c7-4432-a4f3-97e2d27e9e3b@gmail.com> Date: Tue, 12 Sep 2023 09:49:04 +0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH] mm: memcg: add THP swap out info for anonymous reclaim To: Johannes Weiner Cc: mhocko@kernel.org, roman.gushchin@linux.dev, shakeelb@google.com, akpm@linux-foundation.org, cgroups@vger.kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org References: <20230909155242.22767-1-vernhao@tencent.com> <20230911160824.GB103342@cmpxchg.org> From: Vern Hao In-Reply-To: <20230911160824.GB103342@cmpxchg.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Rspamd-Server: rspam09 X-Rspamd-Queue-Id: 716A7A0007 X-Stat-Signature: wnfwmqtom79n5cih79ji4jquyy1apbxq X-Rspam-User: X-HE-Tag: 1694483353-17470 X-HE-Meta: U2FsdGVkX185rVDA5TcgQ2Hr5Yq2S/laH8pzo4PyblL0LFwz2qbq7CSSrX/Nm63oprZGKbPEPNO2mYK9HAJjB5bDt9qkekjbMtoIrRYeUX6iOlGZtcI3KSjdOppyE+KtT+Sd3j8hxeINqruMIqEByVkbTPiFxHxTn4M6TvnrOCs8a9L8qq9BgSiO97E6BH7P8/aAI14Pb0bIzdZAiqdRD9TDCM4P8retrcpdkXdWFA87IEIUvIEkf1OhAct3lFNgzD26rhmv1idSFKXfN5L4mR/kOBhkerFhmqx15b1mi/3NZQ8kRbsa2vvciU1r/fzh7aFMpfSa62qRTmLG48QjB95E/D85cFpB0GcptNcIrc2d+JUa6Br7bO1lY5lE2HT/OrEB732XE2gqT8Jjm6CoDfkmStyTmkPxmfDlEzprtYpbDNKrvwEOAls5BqsLgRaoIdqGUIoeyYbaglN78NWk07dKQuRBGTi2fRrGyNx9sU9Gx2xYBvbz3O6/YGaoJwSn36vEfq0jANso8SPZGz3ZFMc6cpazEvUg1pELgz63SW3Wwys2p8qXBBIa4+P7JxBzkrfPNsZ/tK4nH6Lxwjw83GgBAtlm4CWLXZfKV8sS3Bggy2rSmdHy/fWVTS28020vomLCF4M+Sh6QlUgOYzAZlWNk0EDKprIeQHbq1i+oPx0XVRRDIz7CCo/nZJZwKmJOlN7EnujItLB/bKwoVfcBllLLEK+omDteS/sTU9j/FOk4sbT8dhtz5Y7fiZBGM0G286cCF4vPm5sUS3o19KXMIPK0zPvk+DVh1Lwl6x4qVT8lLMbHI1E6EyMkZFTkmuR1AqeL/XVVtfx2aA5Ob+LSFu2e/QS+Hffc9NmWB0KaedwWQd/LBpI+ohc/Q0mXhwlcVpUqR6JA4RX57gWRACSeXcmnpI/9Xjtm0baIrjwqmEv8cTKopO+290X5CTS0ePqn2NW/AqCnkyRNt5gRKDH b9B/LU+0 gXZNPXEabcD2TenitO9LkEPXaKN6VaDWv3IZJBAX96KLxwswodZz0fsR3KfPYUWwgMpNyiEwQz+ElokHHy1FvHZlnpWYcdteJAQRxRY59KW13uOOEkzyR58BSYZoL1lJMHxBJCKH3dPCRNSk2XQ/8Qz36knOIcAf861UQoq45iD+yCrn44bVRv702uQotBcRaefGScshHSnl+Iod6IzV2DeVj3DNA6yI+pk4pd/6o3jBkZVCbVO0VFxopsZR6pEAoq2yrvtNw5196Ci24K6e9XEKj+BMwvn88LfY20BdpLAT9V5pRzKk3Cio1ZvyHkeYKs5G43YAvZBX4QJ2L31BtYtu5OW3M/eTVscNuYyDG0YoK58onfyYcNRPzhhCoiqx0qgzIAluMpXRjtLnnT3UUVwtt4K3GbX1HG6mFtL8BsU3MAa/urhxYafTP4CNRrwzWw+CW1w2vpsNXfJuK7/7ulMVcNNtmvKWiKCqQMGS32bIfcsXzSi7SYm5qkBoc6zbf9c9i+NVzJj/doh4VnDbFk/dykA== 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: 在 2023/9/12 00:08, Johannes Weiner 写道: > On Sat, Sep 09, 2023 at 11:52:41PM +0800, Xin Hao wrote: >> At present, we support per-memcg reclaim strategy, however we do not >> know the number of transparent huge pages being reclaimed, as we know >> the transparent huge pages need to be splited before reclaim them, and >> they will bring some performance bottleneck effect. for example, when >> two memcg (A & B) are doing reclaim for anonymous pages at same time, >> and 'A' memcg is reclaiming a large number of transparent huge pages, we >> can better analyze that the performance bottleneck will be caused by 'A' >> memcg. therefore, in order to better analyze such problems, there add >> THP swap out info for per-memcg. >> >> Signed-off-by: Xin Hao > That sounds reasonable. A few comments below: > >> @@ -4131,6 +4133,10 @@ static const unsigned int memcg1_events[] = { >> PGPGOUT, >> PGFAULT, >> PGMAJFAULT, >> +#ifdef CONFIG_TRANSPARENT_HUGEPAGE >> + THP_SWPOUT, >> + THP_SWPOUT_FALLBACK, >> +#endif >> }; > Cgroup1 is maintenance-only, please drop this hunk. Will remove it next version thanks. > >> static void memcg1_stat_format(struct mem_cgroup *memcg, struct seq_buf *s) >> diff --git a/mm/page_io.c b/mm/page_io.c >> index fe4c21af23f2..008ada2e024a 100644 >> --- a/mm/page_io.c >> +++ b/mm/page_io.c >> @@ -208,8 +208,10 @@ int swap_writepage(struct page *page, struct writeback_control *wbc) >> static inline void count_swpout_vm_event(struct folio *folio) >> { >> #ifdef CONFIG_TRANSPARENT_HUGEPAGE >> - if (unlikely(folio_test_pmd_mappable(folio))) >> + if (unlikely(folio_test_pmd_mappable(folio))) { >> + count_memcg_events(folio_memcg(folio), THP_SWPOUT, 1); > count_memcg_folio_events() Done. > >> count_vm_event(THP_SWPOUT); >> + } >> #endif >> count_vm_events(PSWPOUT, folio_nr_pages(folio)); >> } >> diff --git a/mm/vmscan.c b/mm/vmscan.c >> index ea57a43ebd6b..29a82b72345a 100644 >> --- a/mm/vmscan.c >> +++ b/mm/vmscan.c >> @@ -1928,6 +1928,8 @@ static unsigned int shrink_folio_list(struct list_head *folio_list, >> folio_list)) >> goto activate_locked; >> #ifdef CONFIG_TRANSPARENT_HUGEPAGE >> + count_memcg_events(folio_memcg(folio), >> + THP_SWPOUT_FALLBACK, 1); > count_memcg_folio_events() Done. thanks.