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 06359C4707B for ; Wed, 10 Jan 2024 23:21:57 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 5894A6B0098; Wed, 10 Jan 2024 18:21:56 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 53A616B0099; Wed, 10 Jan 2024 18:21:56 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 3B2EF6B009A; Wed, 10 Jan 2024 18:21:56 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 283E06B0098 for ; Wed, 10 Jan 2024 18:21:56 -0500 (EST) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id EFEF4120107 for ; Wed, 10 Jan 2024 23:21:55 +0000 (UTC) X-FDA: 81664976190.29.B7C36C6 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2058.outbound.protection.outlook.com [40.107.94.58]) by imf18.hostedemail.com (Postfix) with ESMTP id C09E61C0004 for ; Wed, 10 Jan 2024 23:21:52 +0000 (UTC) Authentication-Results: imf18.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=Shc5UWL+; dmarc=pass (policy=reject) header.from=nvidia.com; spf=pass (imf18.hostedemail.com: domain of jhubbard@nvidia.com designates 40.107.94.58 as permitted sender) smtp.mailfrom=jhubbard@nvidia.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1704928913; 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=7nlkkPf5Q9WbBMuPzxAzP9J3oXWEU7thQyl6Ifuyt7o=; b=gbD5Cr6C5JQt/w7DvP0NLjXg52GVCCXicrpEn0Bg0+5pfINme0rGP4yoywjKPaoVBwXRMu wkQLGtDsvhRgqQodcvRfjcwfrjIM5tNxymZOZ/mCyjnHGSrgeJxv+NTHQMn7kPKjQ3Jzpu rv94JAm8IWlNegg3BP1JK71bHe/1J5c= ARC-Authentication-Results: i=2; imf18.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=Shc5UWL+; dmarc=pass (policy=reject) header.from=nvidia.com; spf=pass (imf18.hostedemail.com: domain of jhubbard@nvidia.com designates 40.107.94.58 as permitted sender) smtp.mailfrom=jhubbard@nvidia.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1704928913; a=rsa-sha256; cv=pass; b=NuDl2xqzbRzGrWl7/LmebtSRd6J3Y8wqtWbDvTxTSAAqqbHRrEk5W9exOwxsD4wmBrzNQZ F6FRMMSNac2lAhv2249+gUzD2ZNt7rF8VgG/ztpncAV2ri9E2OXox9NanSmSa999nbqhNa 0OeppYN4c8ywj4v3kSRanONiGG7zUM4= ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=B0y3Zf2XqAn41xg4Xw7UcZweH6MYl8yTr7xzmhrIjtm+7RFafjAWRGvi0w50p+sfsPI1B+hB0kofov7yL36Gh8jCMl8+wWj3LkQqYP+yBN26WrWRYicLNWYugEJVPeVkZ3+4Jqx+l4VJ1ryFMomqKAxfdPwEAPaEWYBZ4kZA4S42kgnslHHl7mOBt/0jUYiz92VVtPKvYM9CURdQVjxYGZ0Tz0+JIoA9KeRyqvlgXYyREEN/TnJgxgBU3lyEw9tJpFY0u32BAdCauXteXBZg0qMENO8QU2782GLlAX7VceSnweVAwJrOn0lTfQmRYXayShqP3zNLNLXE5yy3QGIxQQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=7nlkkPf5Q9WbBMuPzxAzP9J3oXWEU7thQyl6Ifuyt7o=; b=I3rqkMmpR2k55xdoiLiqZHbEOLSO8CIfRF4n065xmHMke/VLXWc/cLIDHTVxDS0ohRXhH4vDe+Cj3a7Zk+yzV/GMgfFLDcAg7o8R+JUMz9UJYlgBuHmw7HC+i4NWC5ZctMGDQLZh41P3mJVexFldJKZoKdBk4NUqi7nJUOtFtehWgLIU1jGwWLvTe2PIMfR8b6H/GVYD1Y60GyBrJfl2Xlsmt4EhErqSBwXI+WKOUCFQrXVs1tHuBDIUmiZcMJeR6GrFhB5ht7hD4lryWFE0Zl7f/3kFTydQpOT+HZ3F5tbka7t+RZuXyeapeEKyoO2428jYJ2ILKYUJO78pNUQNOg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.160) smtp.rcpttodomain=arm.com smtp.mailfrom=nvidia.com; dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=7nlkkPf5Q9WbBMuPzxAzP9J3oXWEU7thQyl6Ifuyt7o=; b=Shc5UWL+/dxUxdVHKtLAoa99W62yjnWtbpS4POWxlQpsXd5UUukggEnilorI3Q/J3IV/5Ct5LIlowzUKBDhC/nj3uBekq3tFTAw6U8i2Dmy6vKAWf0OmQ/IXnQuD72euGshly/M0uDsSFNmytvJuobD85zGex4k/WsiW8FO5h+YWzEZSQ0UGvcu813hF2k4lK9HLh6F7/n/Hx3mHXk4B29FybDmH1WepKiKzNCerDyjshYV2XEb5KctZs37LpnkytTgkDems54ONNGOCFA62FMJPXLC0euJha7tgWVbjpGcR6ljy+iDf36/8IW1NzyN715G2gUZxE4MvUu3bujc2Ng== Received: from SN1PR12CA0084.namprd12.prod.outlook.com (2603:10b6:802:21::19) by MN2PR12MB4565.namprd12.prod.outlook.com (2603:10b6:208:26b::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7159.24; Wed, 10 Jan 2024 23:21:48 +0000 Received: from SN1PEPF000252A1.namprd05.prod.outlook.com (2603:10b6:802:21:cafe::18) by SN1PR12CA0084.outlook.office365.com (2603:10b6:802:21::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7181.17 via Frontend Transport; Wed, 10 Jan 2024 23:21:48 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.160) smtp.mailfrom=nvidia.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.117.160 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.160; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.160) by SN1PEPF000252A1.mail.protection.outlook.com (10.167.242.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7181.13 via Frontend Transport; Wed, 10 Jan 2024 23:21:48 +0000 Received: from rnnvmail201.nvidia.com (10.129.68.8) by mail.nvidia.com (10.129.200.66) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.41; Wed, 10 Jan 2024 15:21:28 -0800 Received: from [10.110.48.28] (10.126.231.35) by rnnvmail201.nvidia.com (10.129.68.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.41; Wed, 10 Jan 2024 15:21:27 -0800 Message-ID: <33341ca8-1354-4f3f-b377-0b7d04da48d0@nvidia.com> Date: Wed, 10 Jan 2024 15:21:26 -0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v2] tools/mm: Add thpmaps script to dump THP usage info Content-Language: en-US To: Ryan Roberts , Andrew Morton , Zenghui Yu , "Matthew Wilcox" , David Hildenbrand , "Kefeng Wang" , Zi Yan , Barry Song <21cnbao@gmail.com>, Alistair Popple , William Kucharski CC: , Barry Song References: <20240110173203.3419437-1-ryan.roberts@arm.com> From: John Hubbard In-Reply-To: <20240110173203.3419437-1-ryan.roberts@arm.com> Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [10.126.231.35] X-ClientProxiedBy: rnnvmail201.nvidia.com (10.129.68.8) To rnnvmail201.nvidia.com (10.129.68.8) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN1PEPF000252A1:EE_|MN2PR12MB4565:EE_ X-MS-Office365-Filtering-Correlation-Id: 8ade24ee-8369-40f6-b769-08dc1232eb3e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: CY3q5aC6kcmlYhrFYZ7Q2p9hX7IRn89P3AQBEIpphT4GPKHOZ/KBoPsdJBKe9kya7do37LkQzqXZiySOs69+x2J6kl6q4NeBEWWE8UcUAkg7uLJDQoW2punuSMvLiuyhh3TjvjBpWZAKQrtaB8USh4RbUwMle8RiPNQbj5dswhWTGZUN0EJrlG5X2rUBP8auwiHhpWW633LnVC2IWcQAFYzxlGBkHeUb2fDZdfpSdnD/sCJM3hnDrtH27+ZCBcXYWy8dcZ4xQAJdQi8GZ71iko/4d17tnWjhHtolNYLsPChhwJg+VXqIu+8X2DlDOAIV6HWZjrMUocTKMFjNvi0/+cvrASXtGP1K7nqMAjOqZkm9QSs/VDldyu1xeGhZCsvMUBCyHH0a1vTSPYHUnNKtgwKXh5V6XUuPD4CFV9OMRMGG1fdxJ41M5BQYjNiXDNrkepMuSsRIvOzDeVazgMngaLsO9UAlpHGOcIGDXWNsIvy96HVH1mWKmhFBGMts5D9B4tKOyzW85fNDiifGJDB0K7/GP+6KrEg8RzrHjcOmofNc1t+7tPToIQLWzEmQAeBDtw+Wif6HbJDFCCf5Jk+wTEtzHbwFjT8ZPqD5pr0LMC4KCfJrqXy1ZlJp3wsK9wvzGVYT8lukm+Nr09Nc0jGfvuSSeATAqxzhD4nNYXJJJ71TkyDy7GZljSWaVVxANJ/ctf83HOO8FyD4PyJU+2DhyUYfWoqWk5qQFxZqTMpS76Ou2+C+1/i+SshassvBqZONrxGO1wNK2BYHIYzw7fj1kJxNP5N726VJad3Y/b9TebM= X-Forefront-Antispam-Report: CIP:216.228.117.160;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail.nvidia.com;PTR:dc6edge1.nvidia.com;CAT:NONE;SFS:(13230031)(4636009)(396003)(39860400002)(346002)(376002)(136003)(230922051799003)(1800799012)(64100799003)(186009)(82310400011)(451199024)(46966006)(36840700001)(40470700004)(31686004)(40480700001)(40460700003)(110136005)(41300700001)(356005)(36756003)(7636003)(86362001)(31696002)(921011)(2906002)(36860700001)(426003)(83380400001)(47076005)(336012)(82740400003)(16526019)(26005)(2616005)(478600001)(16576012)(316002)(70586007)(70206006)(54906003)(53546011)(5660300002)(8936002)(8676002)(4326008)(7416002)(43740500002);DIR:OUT;SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 Jan 2024 23:21:48.2782 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 8ade24ee-8369-40f6-b769-08dc1232eb3e X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a;Ip=[216.228.117.160];Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: SN1PEPF000252A1.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4565 X-Rspamd-Queue-Id: C09E61C0004 X-Rspam-User: X-Rspamd-Server: rspam02 X-Stat-Signature: z4phzksouqicqwmibondp6xqgr7hokx5 X-HE-Tag: 1704928912-140774 X-HE-Meta: U2FsdGVkX1+KD9G6P1K+5b3+2+docIeRm2BnVgz9FOM3k3VZ5Ze+fYodiJUMz2Sf4xIoR0Fy7WPrtkYgIpqu9yhLWTbt7u8pQLOGgaAmN+md6VzXwui/n6rLwdFJC4bIKULTTSZaXAr0NBRTN8AWFqKMJpjtPsojyZh/O4TIDDYyFpXMFAF1bPXQs9SK9buJKjiedfAA5WpBByeOr/4yg9SanWJELYUBS07M5HzRJ20cyjbZeVP1UNinWDhnvKhsQ/cYviQhyyqxx8JppjTxMTRSD1MOXX11A2yTy0Hs0equwDPftnXFusAe5n8iDVD3zE6pb16KkNZlx3pzlE0b7YKcxTjAXgLdY1S5Iucy7Fa9RxJxQ1PRD8SzhnUWftGbuhzX0+0Q5fNBqTb0Onb/PkkURaOuNvODVgQQ5hMPl25pvJ7fVN81WY2BAYxIfy++A9jHFI/OGUY6LcIA1oNQA5+Krx2yjHkKFyItBcPpAZHyypOmnjIbzYy56pa/j/lEw33wslHGprwGj81kHNJM8Y90xKEOd30ZP6Zsvw69GCOh33EuitQmUaxaUq4sZZ4YE04QYSAn9eCaah3XTtAv4TEakw6N3ILYYC/jE3q8fRzp1P1dHLnG8LhY8heEfSizRWeegwEWRpWKHXk7HABE6o428oaHKF6OBcGwmBP+Zn48WjHTMv44vOlyhi5LrTNZpybteZZxJNgAIV4t/yVFSH22qeWl9EdlkjYMRn0hoCc+Oso5D5GWggEgt/JNTUDPMCZ4UXs3P2XthsEmnzlJo1gugqquckQzz/55k7Pc2G+MDmWHGW7ec9YXzoUrw2uQX64XoLoCkUEq6SeEeU+kxZ7kk837A3TBvnIFxKQ+/b9UaLGMLY0zkGtDuvuh8N0EutLp1g5QOLSCLqrQ+st8RejD8hjQQWBYs45gQibKuZZhHOVmPg1FI7i4Qsd2cARJ3KTN6D9PFvNgRrTcxmv cofTuasN vYoBFlmw+6txno+ZT28+Wm0LcuQMfkRfP65n9OFXPIAFx6eXDyGyWf9TYtXyrjEFWqvwJhlakbUlauIdZtlzPo++p91slshVv7PndPehijp0T5N9q22GEOOH3AS9JXW5hD0dwGcSYcwsLYmWl2TllRpego+l1pA4PIIkAn8n2/0MHT/xwvU7D9ag8hlS2YUVgsyDbWvV8wkSpv3Zio6W6i6cmZzPuHpQ4LC2KiCYJiu9Aze2fohk/d+AOEwxr0IrgrJsizSHlQv+1eA087Lz2dxn/Odn0hS2UgOmWEuYxzK830Prd4H0b6rprPXy9PbRL38ETH4fHZeX7eLEm8w+HeH/HTYiw6cGcF7X7+H6XspeUzxkBqg35zzzpt/Rm1wmgUZvqpPUZ5AJUDHisbo/Kq+KgN/HJnJcwsii0oERowra6gSu0WJSt2Zae4VXs1rY5azXv8zXR8oz+OXhNu2UdD0HEPg== 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 1/10/24 09:32, Ryan Roberts wrote: ... > options: > -h, --help show this help message and exit > --pid pid Process id of the target process. Exactly one > of --pid and --cgroup must be provided. > --cgroup path Path to the target cgroup in sysfs. Iterates > over every pid in the cgroup and its children. > Get global stats by passing in the root cgroup Hi Ryan, Yes, this version is fairly effective at getting global stats now. I've got some proposed minor tweaks below, and a few questions. Let me start with the questions: 1) When I run this on an older 6.4.8-based kernel: # ./thpmaps --cgroup /sys/fs/cgroup --cont 128K --cont 512K --cont 1M \ --cont 2M --cont 512M --summary , I get this output: file-thp-aligned-524288kB: 36175872 kB (95%) file-thp-partial: 856640 kB ( 2%) file-cont-aligned-128kB: 37032320 kB (97%) file-cont-aligned-512kB: 36597760 kB (96%) file-cont-aligned-1024kB: 36597760 kB (96%) file-cont-aligned-2048kB: 36595712 kB (96%) file-cont-aligned-524288kB: 36175872 kB (95%) Is it true that the above is basically "normal" 512MB THP in action? And all of the "cont" entries are just that way because we can't really tell mTHP/cont apart from normal THP? 2) On an mTHP kernel with the latest patchsets (arm64, 64K page size), I *think* I cannot turn off mTHP. I'm still teasing apart how much of this is an instrumentation error, and how much is a measurement problem (with the test suite). And maybe I'm wrong entirely. But the "never" option doesn't seem to have an effect. Unless the latest version of the testsuite is doing something new, sigh. $ for f in $(find /sys/kernel/mm/transparent_hugepage/ -name enabled); do echo "$f: $(cat $f)"; done /sys/kernel/mm/transparent_hugepage/hugepages-512kB/enabled: always inherit madvise [never] /sys/kernel/mm/transparent_hugepage/enabled: always madvise [never] /sys/kernel/mm/transparent_hugepage/hugepages-262144kB/enabled: always inherit madvise [never] /sys/kernel/mm/transparent_hugepage/hugepages-2048kB/enabled: always inherit madvise [never] /sys/kernel/mm/transparent_hugepage/hugepages-32768kB/enabled: always inherit madvise [never] /sys/kernel/mm/transparent_hugepage/hugepages-1024kB/enabled: always inherit madvise [never] /sys/kernel/mm/transparent_hugepage/hugepages-16384kB/enabled: always inherit madvise [never] /sys/kernel/mm/transparent_hugepage/hugepages-524288kB/enabled: always inherit madvise [never] /sys/kernel/mm/transparent_hugepage/hugepages-8192kB/enabled: always inherit madvise [never] /sys/kernel/mm/transparent_hugepage/hugepages-256kB/enabled: always inherit madvise [never] /sys/kernel/mm/transparent_hugepage/hugepages-65536kB/enabled: always inherit madvise [never] /sys/kernel/mm/transparent_hugepage/hugepages-131072kB/enabled: always inherit madvise [never] /sys/kernel/mm/transparent_hugepage/hugepages-4096kB/enabled: always inherit madvise [never] Any quick thoughts? Don't waste any time on this, it's probably operator error. Just in case, though. > (e.g. /sys/fs/cgroup for cgroup-v2 or > /sys/fs/cgroup/pids for cgroup-v1). Exactly one > of --pid and --cgroup must be provided. Maybe we could add "--global" to that list. That would look, in order, inside cgroups2 and cgroups, for a list of pids, and then run as if --cgroup /sys/fs/cgroup or --cgroup /sys/fs/cgroup/pids were specified. It's nicer than failing out. And it's also directly useful. I would be running my above command like this, instead: # ./thpmaps --global --cont 128K --cont 512K --cont 1M \ --cont 2M --cont 512M --summary thanks, -- John Hubbard NVIDIA