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 4093DC3DA6E for ; Fri, 5 Jan 2024 23:08:13 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 6ADA56B02CC; Fri, 5 Jan 2024 18:08:12 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 65DE06B02CD; Fri, 5 Jan 2024 18:08:12 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 4FDEE6B02CF; Fri, 5 Jan 2024 18:08:12 -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 403786B02CC for ; Fri, 5 Jan 2024 18:08:12 -0500 (EST) Received: from smtpin12.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay03.hostedemail.com (Postfix) with ESMTP id 19A32A05F8 for ; Fri, 5 Jan 2024 23:08:12 +0000 (UTC) X-FDA: 81646797624.12.956C1C3 Received: from NAM04-BN8-obe.outbound.protection.outlook.com (mail-bn8nam04on2080.outbound.protection.outlook.com [40.107.100.80]) by imf17.hostedemail.com (Postfix) with ESMTP id E1EB740013 for ; Fri, 5 Jan 2024 23:08:08 +0000 (UTC) Authentication-Results: imf17.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=b2R4ZHXt; dmarc=pass (policy=reject) header.from=nvidia.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf17.hostedemail.com: domain of jhubbard@nvidia.com designates 40.107.100.80 as permitted sender) smtp.mailfrom=jhubbard@nvidia.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1704496089; 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=y1hlEKLtC5nNaAW3yUpyrXR+RU6HIQNyWxYdOgqgnRM=; b=6/tCfKpUvvtOpRLWilRuapvOBEvEyCym5A5HSHyCkGxTPf3tNrkr6XldSuelMqP+nZCVkM azYEpkgHjpypgTR2sbUkiwiAcsbV+L/Mduc3cU6B0QNrKvxPFYQFM+AgBGdXL8UE3wKTBn zwmDfhfE7R4oBP4ly+FzTDUe7jG0lKc= ARC-Authentication-Results: i=2; imf17.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=b2R4ZHXt; dmarc=pass (policy=reject) header.from=nvidia.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf17.hostedemail.com: domain of jhubbard@nvidia.com designates 40.107.100.80 as permitted sender) smtp.mailfrom=jhubbard@nvidia.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1704496089; a=rsa-sha256; cv=pass; b=a1FyC6U4nKk+pFdZO4figd+5nHFQUnHoAnjFksvr3L9M4ZGN00w0d6GwKGfOXK++bGOfkK 2qfuG0pCSWHBOQ1Vq5r0r5ijzWGg9ISgKGYzFO9ZQnOokoRVByBH1L6vGPH4EFFi8Wr0Dj 1RAwws8zttMHcpz5894mEyBJ8W57GhM= ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=PR2gbiNBemWHbK1MnUxqe9JoE6f5RAOMUZJDvVfWYlZlBDLXc1aMMnQjaJOEGhs+2sZq1cg66C2yv8pgDjhMme82WQvY+ZtoaEwoSKYf+IwwxFt6rjKqlnpfLVOYKODeNr0Smuja0IfE1lXDpfNePo2p3a0FBSJBD+EhyrJsmwPmReRhYn4tRr/GnFbG7+fpRgcY5DPJC0qGQiTGu6R4ihd2jvOvQbzL35wkUG3+Yor2pK89sMZHS0unzmJKlWYMwd395qvb2BnHeHx6dWFIXB2hxL0Gble2tEayYitiRagRC8QS5PJUYMDajPkHIXkDAQ1QPdKXkwR6wjFhBLrz3A== 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=y1hlEKLtC5nNaAW3yUpyrXR+RU6HIQNyWxYdOgqgnRM=; b=LpdyByDnncvNgjzBNrJxGMkbdC52pplluN00HsjQ8KVVcHvlDxnE8BRaVXwR4e/ALqX6wxi+rJQQIwEtWQPddFKuSjwTvH414tZO27ycxFjCp3UJ2dFuf9GZBEAZIxwkxTFNqGD+L2nJ1wOqJCRBEldQTeiAt6lQ0ocOTK/PSOo1AdhTkDKlRPpcjCAFhD6jwqTbx6tQxp0ybZvodm7CVs0aEd8iEO1TCgbnpOd1wyyHPGLV521m92IU+dCQglPS6whGBKH5mElNMURTxdPwSCh+4O3gOE45Q8KatSWrmznwZ1Z5x2XkUCuMkGWvBPeULVY1sn40onF0wzYmphEX8g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.161) smtp.rcpttodomain=oracle.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=y1hlEKLtC5nNaAW3yUpyrXR+RU6HIQNyWxYdOgqgnRM=; b=b2R4ZHXtkFS5xFDRHrEaM7iBzHUTHPm1Wb49zC5lOB/9z1Jz7pRbspNFbJEBSB30+cugAw08oDlZGhjq+aOgBjMfOVNHZKR6gKUL73XiFdvZ9v2s5OFL46auoXaWfzDX4N15JijZwsNx/pp3zSrlOL9Si2gPailn6CzasU9ascI9aatsBNahry/E9JN5jrgJBuoMehKirbY1rtKTEGoJQZr0NbRafP8rxOzyeVVlOA+mqKoldVxY4Fld1HFPVH696I+WwL5T2P+299G+m5ydh/j/xwq13c84TAl+cqKls2JAA/N67WFjgtu8Y63rEPvj7EzJet9faOyFPKN7Qnwwug== Received: from MN2PR05CA0021.namprd05.prod.outlook.com (2603:10b6:208:c0::34) by BY5PR12MB4290.namprd12.prod.outlook.com (2603:10b6:a03:20e::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7159.17; Fri, 5 Jan 2024 23:08:05 +0000 Received: from BL6PEPF0001AB52.namprd02.prod.outlook.com (2603:10b6:208:c0:cafe::e1) by MN2PR05CA0021.outlook.office365.com (2603:10b6:208:c0::34) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7159.12 via Frontend Transport; Fri, 5 Jan 2024 23:08:05 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.117.161) 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.161 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.117.161; helo=mail.nvidia.com; pr=C Received: from mail.nvidia.com (216.228.117.161) by BL6PEPF0001AB52.mail.protection.outlook.com (10.167.241.4) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7159.9 via Frontend Transport; Fri, 5 Jan 2024 23:08:04 +0000 Received: from rnnvmail201.nvidia.com (10.129.68.8) by mail.nvidia.com (10.129.200.67) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.41; Fri, 5 Jan 2024 15:07:46 -0800 Received: from [10.110.48.28] (10.126.230.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; Fri, 5 Jan 2024 15:07:45 -0800 Message-ID: <1cfc9b14-3e58-4366-89f5-0f4b7717008a@nvidia.com> Date: Fri, 5 Jan 2024 15:07:45 -0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [RFC PATCH v1] tools/mm: Add thpmaps script to dump THP usage info Content-Language: en-US To: William Kucharski , Ryan Roberts CC: Barry Song <21cnbao@gmail.com>, Andrew Morton , Zenghui Yu , Matthew Wilcox , David Hildenbrand , Kefeng Wang , Zi Yan , Alistair Popple , "linux-mm@kvack.org" References: <20240102153828.1002295-1-ryan.roberts@arm.com> <29007216-8A9B-4CA2-8A87-EB33E338CBA7@oracle.com> <84b43094-9b16-40a5-94e8-6dd4e859a01f@arm.com> <0d06b0fd-01f3-4a93-811d-f39c0b326b23@arm.com> <26dc2b09-b298-4fb7-81e1-4bfba6afaff4@nvidia.com> <146a88e6-a647-4b8f-8472-af3ff7ae6b93@arm.com> From: John Hubbard In-Reply-To: Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: [10.126.230.35] X-ClientProxiedBy: rnnvmail203.nvidia.com (10.129.68.9) To rnnvmail201.nvidia.com (10.129.68.8) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BL6PEPF0001AB52:EE_|BY5PR12MB4290:EE_ X-MS-Office365-Filtering-Correlation-Id: 276715bb-e4a5-4ca3-1e52-08dc0e432c59 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: u9SW3A7oHsEKcvyya+fUr78LN6VRIqZoC3XuKynhuQ1u3lZH51ij7BG+wartHThFaUobDcbH7Hx6ZYvEIZ94vCqGsuqVNHsvb2QSkWosN2OAXRQQsu0Z7SpDd7JKfoWLwnYX7hzpLnvmtN0eT8OOXaQDmL2HKhUC6c506HVz4CnTg5uV4VECAVK+VngFTS60YG7u6EGFi/H1Jnz8Zd2f/v09kthtlE/TlhgTIwmF51Qyj5O7BmuILJJFw7f2npHnZ3nmrnsWDaJhDzcbXTaePYYvIg79GmrvUtNgF4O081MXdULautNUrddkAeHQzmjU9Ej58vfp5Kfd01/qvq7vzwXu5pFZGvs/itAS/b6lcIRKLfONGVbgqCEEu6KiAuCQlvcPBce+WfvrowIuoBbvHFQwz1XArTzi3KG61D5Hhcs2LA8u9ZhIEa3PAjEwlZkbKCQmKAhtjZLRqdJnwaTHgRLDbu9uYm3EnV8d+6xiMf6SGaM2n+jmQ5lrg16zx9EY2+PSJFAEquyf/JBmvXghuGxn/hLr73JjabYZm0WVJzV92vRmszpRmn0Alub/Z5yIbdoY69B3Ubi0cRLfXId+Vv+boMnj8r2tVfDa4SNW3czLx+r8t+EMk8eSRUaT0fgAmsh+XGq++O4sjOuoOjSTLNesufsJAzjHec2BSX2o4HBmXdQ3KtzDfO/ivdTHqmrtyNoWE/pso48urKqeLFQX7K2rS/yds4ZhcBrQjNCWg1IwAWVAjHeABp1pYX6hUWtJ X-Forefront-Antispam-Report: CIP:216.228.117.161;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:mail.nvidia.com;PTR:dc6edge2.nvidia.com;CAT:NONE;SFS:(13230031)(4636009)(136003)(376002)(346002)(396003)(39860400002)(230922051799003)(1800799012)(64100799003)(186009)(451199024)(82310400011)(46966006)(36840700001)(26005)(426003)(53546011)(2616005)(336012)(478600001)(47076005)(83380400001)(16526019)(2906002)(5660300002)(41300700001)(54906003)(70586007)(316002)(70206006)(110136005)(16576012)(8676002)(8936002)(4326008)(31696002)(36860700001)(82740400003)(86362001)(36756003)(7636003)(356005)(40480700001)(31686004)(43740500002);DIR:OUT;SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Jan 2024 23:08:04.7528 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 276715bb-e4a5-4ca3-1e52-08dc0e432c59 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.161];Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: BL6PEPF0001AB52.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR12MB4290 X-Rspamd-Queue-Id: E1EB740013 X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: rxs1dumxi56qyhb3a4wbji91zacc6c9d X-HE-Tag: 1704496088-319338 X-HE-Meta: U2FsdGVkX1+SvqUJZzY4UOl4yYjdTSpfomDnfM2CLYJVht9Tfz84FFjV/ktSnsjdb8cMZSl3KFD/tOWSQadW9cJAb7OSYyZBz4rWOwBALHJyofIvwQrnWSD9LHnQkpMmQNPazifCEExFwCiI/HJ4+J/9lqI+dHj6HZq6LeSd+CJQlFSSjx8yNg2QNPGU+WHmOerrtGFFFG8qhsTtDFG4t11Vkv5uYs4TAV93ddFImWuqg9FfQQGFLqp0IBrn/Lo9q33MpUjdKH7IZQ2aKfd/eC2g36YcR048VnLM0GYsgKmwDeMjSCywHRO59j2JfSSmLS/umQ2PlC9dXHRure99B9tjo8vFXPYQiy9/2q+bl9Wk6uXd+Y3WFurb5f1i8TO6h9fbhQb9DccAKs04zSxGxQsXjz8p3qc5MB5tYmIzWEMO3XQwWEbX/cI6xDRvToeF4PwPMIJheIbKUgC2rU6U40Bpi6V5t94/jRmHxFPdlNlHbxWIMsJg+QsggE3ZIuFxX+tTxLXX+MwSGbg7/1xoYmmeZ/OPxFWoukQlrnwbbalulJAPj5oI6xKTEzZ8f2EwEgjjV2RR9W7Z65Wka6oJPTjHEtMw33pPHMpVybKhyr7JJMvD+3W1Ot/vyF2x/CAFL9yqR0emtQx0i7cj0Qn55h+ByPlPo5K8LgMEEQtb+6lMwdtHpypYYqGrze6Op8Kwrifsa1v6oeOuxL3uzqHURW4Vqm1nMl6Y8zcIvIbWY8+jYdpHTTAipKLVjnZPgwaYGu9cFzQYMxyhw2SlC0LvIO0A59IeyNoP4DxwDMOy2V2cVgo1+nV27OVNIniMIfuySpRZ1XBGs+KGHjicZbRHqpR/IgWCYj6iXPw32f26D0FXlEApDhWGOhEWc3kkKPss/mkNneVWtuJK9gJyxZrqMTybQUTfxwHk6CclorWVbUC6rjJJfVhZl6DD7uC+LsKI6lHpmK/uxU7JA8TsX3K Hl8VT2AJ K9t5neaOOjqY35evM/nNnmlVEuYsBW+e2AFGYTzAR7u92ezJWQraLKfsy1Xwwgfj/J97751M+C3hNFzRerI7sF6B9CbCQSam+t7Vs8O7gckZSH/KxFXgPcSa0K51bEMmkQdKMYhsUL/LbUHldl+EXrNuEuDrPCjsYRfIxpLM8ONlFwlbMoEC/BaTzCDq6GXsnQYeq9IozkZat+rLCmVsQGIh2UNh6+M0Evl3Z/ZYupELvv6KKi38dofMlzGcyqZbt+7Hb+zFS8RjuLpPT8t84aI3YUOjhRHPof/CxgxXeaNvWY3u0Sr84xFDUKh1GAuag/FxMGziUbSpJE0NMG3AO42xeLzRivrrfno7nGc3ZD0aDFaQ3kW4Ld76wEHBuAmb+OyVMRGOaY89Z1gw+YjSp60piZINeoVh47M5EEiVkLfSgvR15TgZWXxNdbGu9CBOul0nNmjj/HtP0EzQGT6pAZZI0PJPCqYN8taIc 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/5/24 03:30, William Kucharski wrote: > Personally I like either of these: > > 00000206: 0000aaaadbb20000-0000aaaadbb21000 r-xp 00000000 fe:00 00426969 > 206: 0000aaaadbb20000-0000aaaadbb21000 r-xp 00000000 fe:00 00426969 I like that second one, because that's how pids are often printed. > > With a header that looks something like this; I suspect the formatting will get > mangled in email anyway: > > PID START END PROT OFF MJ:MN INODE FILE > 00000206: 0000aaaadbb20000-0000aaaadbb21000 r-xp 00000000 fe:00 00426969 The MJ:MN is mysterious, but this looks good otherwise. thanks, -- John Hubbard NVIDIA > > -- William Kucharski > >> On Jan 5, 2024, at 01:35, Ryan Roberts wrote: >> >> On 04/01/2024 22:48, John Hubbard wrote: >>> On 1/3/24 02:20, Ryan Roberts wrote: >>>> On 03/01/2024 10:09, William Kucharski wrote: >>> ... >>>>>> The reason is that it is also possible to invoke the tool with --cgroup instead >>>>>> of --pid. In this case, the tool will iterate over all the pids in the >>>>>> cgroup so >>>>>> (when --summary is not specified) having the pid associated with each vma is >>>>>> useful. >>>>>> >>>>>> I could change it to conditionally output the pid only when --cgroup is >>>>>> specified? >>>>> >>>>> You could, or perhaps emit a colon after the pid to delineate it, e.g.: >>>>> >>>>>> 000000ce: 0000aaaadbb20000-0000aaaadbb21000 r-xp 00000000 fe:0000426969 >>>>>> /root/a.out >>>> >>>> Yeah that sounds like the least worst option. Let's go with that. >>> >>> I'm trying this out and had the exact same issue with pid. I'd suggest: >>> >>> a) pid should always be printed in decimal, because that's what ps(1) uses >>> and no one expects to see it in other formats such as hex. >> >> right aligned with 0 or ' ' as the pad? I guess ' ' if you want it to look like >> ps? But given pid is the first column, I think it will look weird right aligned. >> Perhaps left aligned, followed by colon, followed by pad? Here are the 3 options: >> >> 00000206: 0000aaaadbb20000-0000aaaadbb21000 r-xp 00000000 fe:00 00426969 >> 206: 0000aaaadbb20000-0000aaaadbb21000 r-xp 00000000 fe:00 00426969 >> 206: 0000aaaadbb20000-0000aaaadbb21000 r-xp 00000000 fe:00 00426969 >> >> My personal preference is the first option; right aligned with 0 pad. >> >>> >>> b) In fact, perhaps a header row would help. There could be a --no-header-row >>> option for cases that want to feed this to other scripts, but the default >>> would be to include a human-friendly header. >> >> How about this for a header (with example first data row): >> >> PID START END PROT OFF MJ:MN INODE FILE >> 00000206: 0000aaaadbb20000-0000aaaadbb21000 r-xp 00000000 fe:00 00426969 >> >> Personally I wouldn't bother with a --no-header option; just keep it always on. >> >>> >>> c) pid should probably be suppressed if --pid is specified, but that's >>> less important than the other points. >> >> If we have the header then I think its clear what it is and I'd prefer to keep >> the data format consistent between --pid and --cgroup. So prefer to leave pid in >> always. >> >>> >>> In a day or two I'll get a chance to run this on something that allocates >>> lots of mTHPs, and give a closer look. >> >> Thanks - it would be great to get some feedback on the usefulness of the actual >> counters! :) >> >> I'm considering adding an --ignore-folio-boundaries option, which would modify >> the way the cont counters work, to only look for contiguity and alignment and >> ignore any folio boundaries. At the moment, if you have multiple contiguous >> folios, they don't count, because the memory doesn't all belong to the same >> folio. I think this could be useful in some (limited) circumstances. >> >>> >>> >>> thanks, > >