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 82F22C3DA79 for ; Mon, 15 Jan 2024 21:31:09 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 048796B007D; Mon, 15 Jan 2024 16:31:09 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id F39366B007E; Mon, 15 Jan 2024 16:31:08 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id DB4FB6B0081; Mon, 15 Jan 2024 16:31:08 -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 CF33E6B007D for ; Mon, 15 Jan 2024 16:31:08 -0500 (EST) Received: from smtpin16.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 93AB6A1D23 for ; Mon, 15 Jan 2024 21:31:08 +0000 (UTC) X-FDA: 81682841016.16.96107D5 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12on2045.outbound.protection.outlook.com [40.107.244.45]) by imf26.hostedemail.com (Postfix) with ESMTP id 890B014001E for ; Mon, 15 Jan 2024 21:31:05 +0000 (UTC) Authentication-Results: imf26.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=NaiC6d+P; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf26.hostedemail.com: domain of jhubbard@nvidia.com designates 40.107.244.45 as permitted sender) smtp.mailfrom=jhubbard@nvidia.com; dmarc=pass (policy=reject) header.from=nvidia.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1705354265; 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=kdEr/VP2VNVb/CeOVxEVwerrPyV42dUzgj7oWOG0XV8=; b=fUMJRhCnImtBVqlGpvzug3jmh2L0lmSNMFSUAU9mD0QYyxQlHC4veWBvRlWwZL/GRsPyd2 AjO8Trkmuq6htc/bcWljYLT53WoNLcX2VxtPshtbrM+/ZPw63EHw/Om9f8ZVro20mbC+sK 4moHz1PfZAGMifU2VWnCJrcpUPo4sjA= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1705354265; a=rsa-sha256; cv=pass; b=WnsKTUFe8TCJsosRKvs7sKM2ckn6fjx9IEsoMDW6f4lIaJGz1INZQDjPD4IaHf01DaYEGc 3q+Wx8Tnvva10u2+ZmHnhUbAFFVjmx+fGvio5eJoS7zd24gkONL3bYH01MoSqkvP2AhNGT TtF56MRpjhfmmf8SSBusMgIx59xGLuU= ARC-Authentication-Results: i=2; imf26.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=NaiC6d+P; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf26.hostedemail.com: domain of jhubbard@nvidia.com designates 40.107.244.45 as permitted sender) smtp.mailfrom=jhubbard@nvidia.com; dmarc=pass (policy=reject) header.from=nvidia.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ioaxGdl42KxieDeyTlHCdooFa1MUMrsR3RfUU11QLI4f+061zevgDIN/cot4a9yCpbvWi6+8K0GMX5O/uHiMjzX7Kz889pHELsJ14GioiMflu+gXHZEMnNFkW9lu6kl15Ipc0sNvou8aEGwHnVbNKA0tRvaQS6Ji74XGa3ax7DtTkauiJRUodTsrTi8UNghWRbj13ENOhiDwGxO72MlQAwLX6xrj0oHYeRtHYZrVNNRuQQvOIMt/l32eS4BOaOEK6R/3EeAf3qeXTnUbalcxIo4i8XWeWnsxl88ZkaFVJTr5dyieERYDJ3mo0Izb3WsXdtk6nMhZ+ecXoWaaCMBrmA== 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=kdEr/VP2VNVb/CeOVxEVwerrPyV42dUzgj7oWOG0XV8=; b=lbdOgPOz1TwRtmaimESEE9kWg5P4OXwUg53ZfFvxzoZY2G/758hVS/Rf7f3tathOIw6w/r6jVILaQ3gXGK/EbdERNsWrPr9RF/0uOVgbTEhdO8D5F51Bq/yBOHG88Ody1BLNs9y756nwAmE826VHz9g99K4kYJxDbvU92b8K0/BYZ5NhfIfXFpzvl5EzggsyzIabdOcfigYBXX5qfT2qS6XreGG+9XZsaXifevLTedcUtAm/HRyuhwXMQe2/xFQw7/2h3XgvpwwYTv+3KgX51OGhbDBl6/iTaWx+RCjACT8IXLRuGLPZ7dxsaw2cVyqdz4kxMknlxlOS4NkEF0b/cw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none 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=kdEr/VP2VNVb/CeOVxEVwerrPyV42dUzgj7oWOG0XV8=; b=NaiC6d+Pnx6jnkl2tCdZeOytivQ8GJgdSWkLlO9GiVniI2u75qG0reb/emFkYzcFVusLCUl2ujGDql8UhHNaVaWbC9JVsgx5gg5o0V/4UC9/4vHueANLAyrq2atFsrGiIUbHgKiTfNRWZFw+TnC6TZ2ZhWw46mKRZ5JFJTPM97V/yOJZIOkvN8VCbXgdzBw51V6cBUds1uP2qYaM+toeqLg4mAEPeIPpb/6uN3hjq+R0t/tKSMScEL3WjLlZ3O/P65mY/LoNDoeAA8lv+hZMW2BPAhvATH0GUk00xDvLdofOBbL+SG5PVa84Ltt7+MFszz6ez91LcLGj38MJscHVWg== Received: from BY5PR12MB4130.namprd12.prod.outlook.com (2603:10b6:a03:20b::16) by IA1PR12MB8494.namprd12.prod.outlook.com (2603:10b6:208:44c::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7159.23; Mon, 15 Jan 2024 21:30:56 +0000 Received: from BY5PR12MB4130.namprd12.prod.outlook.com ([fe80::90bb:c583:cc57:aa1a]) by BY5PR12MB4130.namprd12.prod.outlook.com ([fe80::90bb:c583:cc57:aa1a%4]) with mapi id 15.20.7181.020; Mon, 15 Jan 2024 21:30:56 +0000 Message-ID: Date: Mon, 15 Jan 2024 13:30:12 -0800 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: linux-mm@kvack.org, Barry Song References: <20240110173203.3419437-1-ryan.roberts@arm.com> <33341ca8-1354-4f3f-b377-0b7d04da48d0@nvidia.com> <43230798-af22-4f59-b37c-8257bae32af8@arm.com> <22905bf7-570f-41a9-8dd0-b8a250c97de3@arm.com> <0f5b9444-fd79-49f0-b9d8-f5e04c044696@nvidia.com> <64f4fc88-b591-4a76-9a9f-3971225d0fa7@arm.com> <9acb1684-7c5a-41c4-9a23-edad73e55585@arm.com> From: John Hubbard In-Reply-To: <9acb1684-7c5a-41c4-9a23-edad73e55585@arm.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-ClientProxiedBy: SJ0PR03CA0174.namprd03.prod.outlook.com (2603:10b6:a03:338::29) To BY5PR12MB4130.namprd12.prod.outlook.com (2603:10b6:a03:20b::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BY5PR12MB4130:EE_|IA1PR12MB8494:EE_ X-MS-Office365-Filtering-Correlation-Id: 34ebfcc4-0231-41c6-6ec3-08dc1611421b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: GeVNgj3u2IER3XvuI0KWZ8aVNp1nQgFOTUbO0PgmbZtKPe26z1iLFLrDMBUCBRw7pYYFCgqRp6iilR5/WF5oMqHCK6uOklbPVdLEqZI8diejdqIJoe9Yqh5DlmXerBY8f9LpFDFaHviZyAUkUdfGGRhvas4jOWdOGg895vNGleg02mBnd02Vn8NGm4YUl92YwEqsM5j4OzRJ5LWusHF8NhKeLXDQ+z3g7GjCeuBSjokQEGxUeL7bvqZRBY36UAiahMexpnsK+SCNZRiiEs81q+tQOtpXBO+NHF2djVK2kxVVAAWsUftB+HqCh+761S0jwYcGTGmAfIOO/6ewBTSiZ3gamvbpXTCuq75VgAT07b/13cdjDxT01gOMEl7tRxvzLhlfyNUmpbKVWax3r8MBAYqb4Urz+HdXMi4aCSymXjRCDmmvNZGXRMuunHPI9+9BxF3GDoJOhzeOiSDLxSwIwAlt2ymfDrO0FrE84d3zSFupBG81SD4eWmQumFX0DrNltMTMDeQzFiqylgMC6fK6nWyr9rdfYs2RrIb1y3NtUohon0RUbtfOYZpiouw5yK1lPaKbmT6N53OuZP89BknwYA1qxzuAmYsc3uk8vF+8XnV5Rsd9ysGamvI0zA7dMtGKnado7BCwmdr2HgIryeZeMnmnA4svpXO24HoyQWcFNAs= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BY5PR12MB4130.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376002)(39860400002)(366004)(346002)(396003)(136003)(230922051799003)(451199024)(64100799003)(186009)(1800799012)(41300700001)(83380400001)(31696002)(6512007)(53546011)(2906002)(478600001)(6506007)(31686004)(921011)(86362001)(38100700002)(66476007)(66556008)(4326008)(6666004)(6486002)(7416002)(5660300002)(316002)(66946007)(110136005)(36756003)(8676002)(8936002)(2616005)(45980500001)(43740500002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?RzFMenVWSG13UG1UazI2RG50TzJ5eHdWSWVmcU9WRVA3OGRVaDRsRGdML1VL?= =?utf-8?B?ZjA0Y1E1b2NQWS80d2g2dHl2NDZySVE5Ui9WWklwdXhQd1VIczhwTXNpU1pQ?= =?utf-8?B?WUR6Mi9LeUF1OVNCeEM4TUpNU2c3dWVQUmd1ZTBVSU85RE1zbHFEVnQvVW5G?= =?utf-8?B?eTRCTDlTaFptVk5aM1NrODN4TTNIZ0dzVHNPUnovODFuZ3ZvMWxYL1lQc2tw?= =?utf-8?B?dnhSbUNETFhUY1VIeHVHVVFNam9SWHUwaTh2aGpKMXFxeUZJRHoyck1KdTcy?= =?utf-8?B?a2tBNjlpSmU3OHVVRU50WGdycU5ORFhJUFpVR3hrem5ZZzNYWkZkd2ZUMllz?= =?utf-8?B?YmxHbms2NVAzYnczcVZQd3h1MGNvMGU5cXNRNGRCNUFuTVBvWW5nd0lTS3pS?= =?utf-8?B?Q2k5NENnZ05kK25SVC9yU1cxYitUUGNlOUhhQlQrZmVTNjd4RzVQMCs3RE5r?= =?utf-8?B?d2FQdDJaRitqZitOSUFBMi9xTXkvQStEUXNQUTJnblZMWkQ5L01ORVRjOGJV?= =?utf-8?B?M0VZV1U5K2ZzU01XK1JpMGtLVE5QYjJYWVAraGR4UDFrNG4vbFBYL1FnVjYy?= =?utf-8?B?N3Z5andvbTFVd2ZoUC9XSm1rNTVxN2VZQXNWOHUvUmdua2J1azY4SlU3YklR?= =?utf-8?B?aG9PVUdGaGk3M1BVT2kyUDR3bTF1TWZMZ3ZqUFJFV1BOR3licVBxeE5wZ3JR?= =?utf-8?B?akFqMnlpdlE0R0QzUng0ajZGT2dLNElUNU8yTnA0bjM2RDNva3RydXcremRt?= =?utf-8?B?V0dDUlZMMGRxTTFjZ0s4bWJOV2NDZFpxNWJZSitGK0toS0hqYUpHTEx4TVVZ?= =?utf-8?B?OVZlbkFyUmdac29DMTdiN1lMY2NqUWl5ZWtBMTVBNFdFQUgxSkQwSjFPUmJn?= =?utf-8?B?RHRPaTJabW1ZSElBZnpTQmdyK1l0ZjQyRk9GMDRwQWFZZ0RnNXlmeTNxVUx4?= =?utf-8?B?aDQrTkFaU0JVVWM1cHVXTzd4dWlVQ1dVYkJKeENFamdoaXo5SVZoT05EYnkz?= =?utf-8?B?MTBwRm9tMjVYS1E2K0RqaXRiTW5nTlB1bjVyNC9ISEpVVVRyZHJoc0MrV3dU?= =?utf-8?B?dkZUcEE1dWE0YjlGN3g5UXhHZkRvSitXeTk2dUNoM0pzVm92TnJRK0xKT3NY?= =?utf-8?B?SExzU2xqbS96VE42YkJzVGFhaHgrbWhxdHlaV2JaZ0FqNWYzMDZSM0M3UG56?= =?utf-8?B?SnNPNDFyNDVLRHVLWXdZSWROOURGWEFWa0ZrOHczQ2crZC8xM2lMeFNkTlFi?= =?utf-8?B?SzVGc1BQbGN3ZUllMEVBdC9PSTBiWXEwTzB6N3hsWmcvRXdyZkZMOG5vbUtq?= =?utf-8?B?cGNxRVRqLzVqdEplTll0SER3Z2xiODZ5Wm5QdlhFMUg1WEc0M3ppdmdxS1U2?= =?utf-8?B?VGNkY0ZwKzF3UGRhZVlIZFBQWGpxcDdmTXlJWVpQNUpYT3diMWhVVjVEVnFT?= =?utf-8?B?TC94ZGd6ajRZR1FGZzdoNmlsbjQ2NXJ4akpyMUxNTWpJTjB2K0QzZVpUWXNK?= =?utf-8?B?MkNjQUZ2T3pBTHBRWWxsbzI4SkRHay93SVVEdDZmbkdFdzFyV1N3Zld2bUM3?= =?utf-8?B?K0JrMDFoRnQ1bllqcUlHYnhITGROZEU0cGNXd254ODNUUEtxdGNPMklXY1Nn?= =?utf-8?B?MEdOMHNhQk51d3ZybUg0ZkpPZlAyRHVnTWFOMmN3ejBEb0xjLy8ybHNmWDdq?= =?utf-8?B?dTZGSDV5YXBoYWZ2QitBTXVsR0ZXOEdSTWJGeVJyeW4zZ2NNOGcxZVFaNDAr?= =?utf-8?B?U3VhRGowSmdmM2huTndPUU9KUDA5N2VkRUhZZVpNSFB4YVlwZmRrRUV6c1pu?= =?utf-8?B?bzFmN1BFM01VQlJpbkNGbi94alhXRngzQlExck1DRWxtWEtZZGFwTkZkRUto?= =?utf-8?B?Y3RQdnVTR044M2o1R3hTeVJpeklqdkVSdk9zdW1JMUM2TjdDbDdZRE5ZL0JC?= =?utf-8?B?S3V4cXlTNEVuNEpNL0tROTlkL0ZhVGFYTHJFRFhxUER1Tkd0SG42UWRxUERW?= =?utf-8?B?VnA2OXFwbUdpZXdxaGhDWVJwMkRYUWYxMzNFN2RtN3ZTd05iQmw0UTM3K05p?= =?utf-8?B?QzdibTIxTk5lWUF2N0l6VkdHNmRwSkxYZnljMWRQelh6TmNRNnpyRjNGL01I?= =?utf-8?B?bjUxWG9WczVLaDhrYU5qOFB5U1diVnNZSUZudHQwR2xFOGlJTElKMEVjMlVv?= =?utf-8?B?RWc9PQ==?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 34ebfcc4-0231-41c6-6ec3-08dc1611421b X-MS-Exchange-CrossTenant-AuthSource: BY5PR12MB4130.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Jan 2024 21:30:56.0689 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: IpYY9klqyWRcs/bsGoJKOBN7udg7KeVByFavLyXiFH50Zij1a/5jBYyWABsap0srHtSHqAuFevXLF85x2NBWOw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB8494 X-Stat-Signature: py3w99rurbh1kor9en9tgkiouy1w3ha3 X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: 890B014001E X-Rspam-User: X-HE-Tag: 1705354265-570674 X-HE-Meta: U2FsdGVkX1/aFAbr9HqNsqeveh318m7D+lX2V2wXEADZaYmad1t29zq85SqFqHqy/813SZOzLTtpWiqmA3PaMTNUWzYW/nj6Jt4S3CUmkRGpyzCBX5g3JPiopsKle+RlFVkRILddOfXfj1nxu4X2o/+kfcBXsxG3f7vmEVqXHDmRiSwhMrud5W1zP5vHRT4XTbQsHAQUGSujDwN1VQaTiwdkGoz1ytpjIaO4VWMEWMDpnNA0stguiLR9GJH3zujT+GAGEuxSM0ChFKm7cCSzVTnAKL/woArqpR6Uf2LHGQuUExCfF6GTssv5vAX4dVPcmr2JyG1IiaVBMiOceK7QurJH5w7caxwnYHJAaaDKxyto18zznRfnf45EGLaqz3/sFlFZD98w3mBHnv5ib7vRIhKMMNsris8mo+jWOb/IPDle6m3HvwMRqI98faAkzZaFUjToL4uyYJyyZo+hdA4PfsXp0fz2lfFE0tqxOTAM+clLlBMmv6aKifZ616+NEgNen4K5+BqdDIn6ZH2BWO654yPdICFw/y4+9xZ8PX7VVoSERjgp7ZX7zxjZM/mSd3ltSdL+srBCTwklsKFdZ+wuSjMqRCyCfX2MhK4gIr5rGx8Drl94VLpw1Mzm+VxEoUlX8E0d6B6EATXzn6ocNbVqM/Qwd2ERHmqIq0eyfd13fNBwc3WwNaBhmz81ht774uSjJpR2rt+ha6ArOspO4xHs5O3ceqWXb9aNWiLyHLrpVtMYMadVxBEN53wG0E5MOPt3lAtHmGFgv3xZXAWgHz0dqHUCwYxwRiIEbkHS7XWYAKL9SRrXUq7ZRK73YdaRFJBxWvu/dn3A/DpxCulpc+busDpwW9zSgSSFm3sYFEhJiD5cru76R3hzSwfr2TqBjkqId3gdJg+4dzxs9khXC6gv9uf5TFhvrDFJpC0tzvdsvtw4kLIwFMBlH4X/tPlWSK1UJznmYHN6Ap34KcoMINY A17pg2R2 q2n7OjbQudxlUH4IR7+JF4SZco8o0qYUqbMxkmfnnGe1brn0ue4zfYfqkQ9UXrNwd2O4HhWYzQfUIJX1VYqyckAr+MMj5oe97Vp64tfPEOzn+xMtFMU8l+xuFEmXt2L1PZIszEwd7kkaKSua/4g0TeNtWPxmNxRgvI7di9Kbpqj72uGgx9CHLseIRKjw/mY1dmcW9kNj+1atyHU5P8/46iwUISZVzMltdwwf05HTpNf4QHqXGVd5vRvDDxgBpGjircyAnCTM2EuiErOYlvfuGSnYFdwDH6DQoHF8X+aTYmCfLNIGN/THCVD8wRFQZXGbaBl+jM9ntu8bB1e1QVlieYUhTng== 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/15/24 07:56, Ryan Roberts wrote: ... >> But yes, let me work up some improved documentation and send it out for your >> review. The reason its a bit terse at the moment, is that I'm using Python's >> ArgumentParser for the documentation, and it removes all line breaks from the >> description which makes it hard to format longer form docs. Anyway, that's a bad >> excuse for bad docs so I'll figure out a solution. > > Here is my proposed documentation. If you could take a look and let me know if > it makes sense, then I'll modify the tool to conform: > Looks great. One typo fix and a note, below. > --8<-- > > $ ./thpmaps --help > > usage: thpmaps [-h] [--pid pid | --cgroup path] [--rollup] [--cont size[KMG]] > [--inc-smaps] [--inc-empty] [--periodic sleep_ms] > > Prints information about how transparent huge pages are mapped, either system- > wide, or for a specified process or cgroup. > > A default set of statistics is always generated for THP mappings. However, it is The way this is done is sufficiently interesting to the sysadmin to say a few words about it. Something along these lines, approximately: ----- When run without options, cgroups v1 or v2 (depending on what is active on the system) is used in order to get a listing of all user space pids. That pid list is passed into the core script, as if the user had provided "--pids pid1 pid2 ...". ----- This reminds me that maybe a --pids options is helpful, what do you think? > also possible to generate additional statistics for "contiguous block mappings" > where the block size is user-defined. > > Statistics are maintained independently for anonymous and file-backed > (pagecache) memory and are shown both in kB and as a percentage of either total > anonymous or total file-backed memory as appropriate. > > THP Statistics > -------------- > > Statistics are always generated for fully- and contiguously-mapped THPs whose > mapping address is aligned to their size, for each supported by the > system. Separate counters describe THPs mapped by PTE vs those mapped by PMD. > (Although note a THP can only be mapped by PMD if it is PMD-sized): > > - anon-thp-pte-aligned-kB > - file-thp-pte-aligned-kB > - anon-thp-pmd-aligned-kB > - file-thp-pmd-aligned-kB > > Similarly, statistics are always generated for fully- and contiguously-mapped > THPs whose mapping address is *not* aligned to their size, for each > supported by the system. Due to the unaligned mapping, it is impossible to map > by PMD, so there are only PTE counters for this case: > > - anon-thp-pte-unaligned-kB > - file-thp-pte-unaligned-kB > > Statistics are also always generated for mapped pages that belong to a THP but > where the is THP is *not* fully- and contiguously- mapped. These "partial" > mappings are all counted in the same counter regardless of the size of the THP > that is partially mapped: > > - anon-thp-pte-partial > - file-thp-pte-partial > > Contiguous Block Statistics > --------------------------- > > An optional, additional set of statistics is generated for every contiguous > block size specified with `--cont `. These statistics show how much memory > is mapped in contiguous blocks of and also aligned to . A given > contiguous block must all belong to the same THP, but there is no requirement > for it to be the *whole* THP. Separate counters describe contiguous blocks > mapped by PTE vs those mapped by PMD: > > - anon-cont-pte-aligned-kB > - file-cont-pte-aligned-kB > - anon-cont-pmd-aligned-kB > - file-cont-pmd-aligned-kB > > As an example, if montiroing 64K contiguous blocks (--cont 64K), there are a typo: "monitoring" > number of sources that could provide such blocks: a fully- and contiguously- > mapped 64K THP that is aligned to a 64K boundary would provide 1 block. A fully- > and contiguously-mapped 128K THP that is aligned to at least a 64K boundary > would provide 2 blocks. Or a 128K THP that maps its first 100K, but contiguously > and starting at a 64K boundary would provide 1 block. A fully- and contiguously- > mapped 2M THP would provide 32 blocks. There are many other possible > permutations. > > optional arguments: > -h, --help show this help message and exit > --pid pid Process id of the target process. --pid and --cgroup are > mutually exclusive. If neither are provided, all > processes are scanned to provide system-wide information. > --cgroup path Path to the target cgroup in sysfs. Iterates over every > pid in the cgroup and its children. --pid and --cgroup > are mutually exclusive. If neither are provided, all > processes are scanned to provide system-wide information. > --rollup Sum the per-vma statistics to provide a summary over the > whole system, process or cgroup. > --cont size[KMG] Adds stats for memory that is mapped in contiguous blocks > of and also aligned to . May be issued > multiple times to track multiple sized blocks. Useful to > infer e.g. arm64 contpte and hpa mappings. Size must be a > power-of-2 number of pages. > --inc-smaps Include all numerical, additive /proc//smaps stats > in the output. > --inc-empty Show all statistics including those whose value is 0. > --periodic sleep_ms Run in a loop, polling every sleep_ms milliseconds. > > Requires root privilege to access pagemap and kpageflags. > > --8<-- It's all looking much more understandable now, very nice. thanks, -- John Hubbard NVIDIA