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 21CC2CD493F for ; Thu, 21 Sep 2023 02:05:57 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 4E4A36B01F1; Wed, 20 Sep 2023 22:05:57 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 494676B01F4; Wed, 20 Sep 2023 22:05:57 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 335F26B01F5; Wed, 20 Sep 2023 22:05:57 -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 242C86B01F1 for ; Wed, 20 Sep 2023 22:05:57 -0400 (EDT) Received: from smtpin11.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id D99B01605A8 for ; Thu, 21 Sep 2023 02:05:55 +0000 (UTC) X-FDA: 81258963870.11.E623D4D Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2081.outbound.protection.outlook.com [40.107.94.81]) by imf12.hostedemail.com (Postfix) with ESMTP id A9B9140003 for ; Thu, 21 Sep 2023 02:05:51 +0000 (UTC) Authentication-Results: imf12.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=Yz+ZDm5s; dmarc=pass (policy=reject) header.from=nvidia.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf12.hostedemail.com: domain of jhubbard@nvidia.com designates 40.107.94.81 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=1695261951; 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=DJUmvuyqLl4xXHH6IgNR9QjdZp+TMuybsMSZy3AZi9I=; b=KdXC6awxyX1t8xzIzpBJ04ffmAolk13JtB29XDTE9AVh5VqcReP0J/v+OCJzdDviqoupmo Fol82BrzQUHsCEDg85UZqkB5Sfy8MTxLAQltPd+Av3Ue68jHWFgUeoYZgK8EHOrxdVLFaK A7LEETmNfNkp4eetvmDrPi0Gw0CDR2U= ARC-Authentication-Results: i=2; imf12.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=Yz+ZDm5s; dmarc=pass (policy=reject) header.from=nvidia.com; arc=pass ("microsoft.com:s=arcselector9901:i=1"); spf=pass (imf12.hostedemail.com: domain of jhubbard@nvidia.com designates 40.107.94.81 as permitted sender) smtp.mailfrom=jhubbard@nvidia.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1695261951; a=rsa-sha256; cv=pass; b=Cg6cLuBTLUGLoaAnJoVtz5H/1JSiEDPR7Pq0h3aIBr+d7HnO0YEZvcertFdz2IfP6NEMdm TKYq+yzut6ltj2oi5d/PykicvK3Pay+4N2GPLrGGkTjqALJ5eSWOsqQNp94z8SUwQ4ubU5 k72cSZX9FI/S6ApTK4a6laSpkeeijks= ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=QmEQ754dxlyzq5jv27pnqq64H6dh0hboSp4PkhDCPWOcFmDJr2F9llFVk++xMYYbZ4X7czCXupW6YEhdS2euXQj6WjMSuABIa2PdIGOM9FIknICTDzY1oP26OHwmlK8HvmmbnbEsxyzjAuKVKlDEWRs/GDXfOFiMz1tJMBIu/kbfeQtIPxC/bSsx7lFfzNwiq81MlhxtzAISo+SuMgM8YciMC9fkETe0PTKnTH6x7uBohB65M7cYcl74dFcSZc7/DxJQfjgAEzxLCnbtwIzdmoQTQ0O8swA0RKzHaZ30UxPuXixqlWnmjv3upd4a1sGbypG0c+iJAeUBgMGTRawcXQ== 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=DJUmvuyqLl4xXHH6IgNR9QjdZp+TMuybsMSZy3AZi9I=; b=AFskUOQ9MfuYCU6zPDWwlzSFJzkKHzU5T/Vz/NY8W4cVk7hxo7MXGX/RiPxVk0cqWApxT/Ckrf1Z9ZDXsdK25rJ6u0gK7BbzyOUOnmXSNoL4Ks1BL9I+MDAulWC7wBTbQpPdcHSF1T/az5Hp1TR6bpgpOK5qOJ+3Wk03hEUUoPX0wxJj/KwzOWZyg/QYghkkO7S3ZjCMGCVrSyHda6RZNfGjmKP6XEW/F6gSMFk/OYAxCuyw66ingpSS+69m2x9nMXUkhmR9u4sXF9A7S4hq6fhTKBm5ajFjas+8ocIOl7DcweT/cMfk70YbEPPvLu4zsoaDLFwsNvz/lYM5DipvQQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.117.161) smtp.rcpttodomain=kernel.org 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 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=DJUmvuyqLl4xXHH6IgNR9QjdZp+TMuybsMSZy3AZi9I=; b=Yz+ZDm5swP6iZeSohV7jwQsbSMkIDDFmAASTpfOgsp9b4ko8gpWEA45EAOsUvS1e2QFzIlfbBivq5fMsG/7SZFkQAQQGScX+RyR8+FE/+f38Sr5w1JIO5eKhISzaxOxmPS/+Z9YvLZlt1G77Lzye7FtqMSp2xI5CyArqX9Fvk39aWRbKWYNFRaOzRu9zJjWL5CKvSo/hN0q6W9wJ5Om/6NHLNTlO3PcwoQnNl6Y6+hq1XnTj7piJt6ZU9DZjWkxzl4Kufr8UR9/reTbNYV+XeLpWANbvga8+pvxd3BYKL/FA/5nni8NcU0iypX/1kyFr6+p7pDt+7d/TDd4SkAxc/w== Received: from MN2PR13CA0007.namprd13.prod.outlook.com (2603:10b6:208:160::20) by PH7PR12MB5710.namprd12.prod.outlook.com (2603:10b6:510:1e1::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6792.27; Thu, 21 Sep 2023 02:05:45 +0000 Received: from BL6PEPF0001AB4F.namprd04.prod.outlook.com (2603:10b6:208:160:cafe::de) by MN2PR13CA0007.outlook.office365.com (2603:10b6:208:160::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6813.20 via Frontend Transport; Thu, 21 Sep 2023 02:05:44 +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 BL6PEPF0001AB4F.mail.protection.outlook.com (10.167.242.73) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6792.19 via Frontend Transport; Thu, 21 Sep 2023 02:05:44 +0000 Received: from rnnvmail202.nvidia.com (10.129.68.7) 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; Wed, 20 Sep 2023 19:05:27 -0700 Received: from [10.110.48.28] (10.126.230.35) by rnnvmail202.nvidia.com (10.129.68.7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.41; Wed, 20 Sep 2023 19:05:26 -0700 Message-ID: <5ac6a387-0ca7-45ca-bebc-c3bdd48452cb@nvidia.com> Date: Wed, 20 Sep 2023 19:05:25 -0700 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [RFC PATCH 0/4] Enable >0 order folio memory compaction Content-Language: en-US To: Luis Chamberlain , Zi Yan CC: , , Ryan Roberts , Andrew Morton , "Matthew Wilcox (Oracle)" , David Hildenbrand , "Yin, Fengwei" , Yu Zhao , Vlastimil Babka , Johannes Weiner , Baolin Wang , Kemeng Shi , Mel Gorman , "Rohan Puri" , Adam Manzanares References: <20230912162815.440749-1-zi.yan@sent.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: rnnvmail201.nvidia.com (10.129.68.8) To rnnvmail202.nvidia.com (10.129.68.7) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BL6PEPF0001AB4F:EE_|PH7PR12MB5710:EE_ X-MS-Office365-Filtering-Correlation-Id: 5e1788b6-7bac-4dfe-a37c-08dbba474402 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: WFqBBCUcemIRPHgydIVKAgIdV49xH/ZwMsSgf5WM5yXko/2MDM8VInkFtp7HoAz9uqnUEy7Ae+WHYz+OVIDfSIv9pJOVukHtE9Eh6qScM6HMC+HuUlu/Tccd45ql0IKaI1ONTTe2vvNPx01pigdonTh/+mvAY+vMehh5VjA/BT81HRlsESixpkuP/Bn2tO04yvpOenY46wbTTqPqACqqsQlYGe/I4aOq7NTdJRihFYEbAWC3kS+E33cWhYiCpJmF3cYk0gVeLJlna4XyrmBJ5ONmHO4hGz8W7qzjNNWiGVoNvby3DZX9Iw0t45nqNe3PTTmORBcksEVWDahsuauECfRDWAviLIxAkNIHkWWjzRbocdBB+JYgfAn4/u0tQbYcZWHFwb1QOKFTrmofX92XeAqABnsT625SOqmXyrcQHfN8m2rHVwGsKG1D0hJElJUKYzu6N4dasJPhSUMAHT1aMuNtbJ/9xKTRy+rmIhzyWHC5VEzvKHM9lE4XuVGah98R/xlAyqcXMkIlpiYvewDY+rOIEHa+I3/s9fty73JsyVCMvpWGwhg/TUaK6QYLqTKguwNwYezLRubX2cLDNcY2Adlvk8Bc2dhlHscFFKfQJX0piGwKoOabDUtXmh4sQIWv5QerFjKkb9oyDJI0nHvnoHxchtR32rNUptBb87qrUo2tI5KAaiV13GPAcmJGPZ5OzPEi74/ZON4RDd30GQimfZgnG0YqMrNKm0Oh9q13E1fZz779od+3QrYrDvs/e9OUYwO/OZxUzwZSl15hSyIkBg== 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)(396003)(39860400002)(346002)(376002)(451199024)(1800799009)(82310400011)(186009)(46966006)(40470700004)(36840700001)(478600001)(7416002)(8936002)(41300700001)(5660300002)(83380400001)(16576012)(40480700001)(2906002)(70206006)(54906003)(6636002)(70586007)(8676002)(316002)(4326008)(110136005)(31686004)(26005)(2616005)(40460700003)(16526019)(53546011)(426003)(336012)(36860700001)(47076005)(356005)(31696002)(7636003)(82740400003)(36756003)(86362001)(43740500002);DIR:OUT;SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Sep 2023 02:05:44.7181 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 5e1788b6-7bac-4dfe-a37c-08dbba474402 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: BL6PEPF0001AB4F.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB5710 X-Rspam-User: X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: A9B9140003 X-Stat-Signature: nk3aqtsr8cxmyusic3xomuqs3jn3b98u X-HE-Tag: 1695261951-100886 X-HE-Meta: U2FsdGVkX19rxHHiC25rMNoo7hyqa7HahMrkU/+yj130rtDpMX26046OGcwX683/3oeLGJyY65fg2f8dhto2dUQwUMeFIDUSR905ypaIGsSsxosDAeAfxogpyZ/3nfQJtjA3/8jbAHveZLRayKJiP3KktdtBMPbgSd4lVeKPeEX37Ldh7h54Q5T15bDK3SRWAoS753hRHpKsrNiGB+fgbPvj1TCeP56emRaS3TC9Bxf06HPeimRh+bFgoWgAAoGOwQoxbxzp66Mot+7/0bR0siRSVUXLIykqTxPbFk6cYuyaK3R2HQmtXYJ72g3fXppNJaxHFnYohZSP0Mocc0bEgzaE3FH/H55CA96QZS2hEwteW7vLwFZhZdf30/gQsiYDQY1JszYb2m23le4kjfvw36h2+vOTQeKsNII8E0DyefHUET0n+vkumG/c2U886waDe0Mg0MuI/cGeypPGwY+wI6riAbrlcMK7ulElVVwXrv1VC54/BROT8/jmmgAv32s+TSwFOMwlbRvfGcsb0BTKQNs41YBJmAh6MosnPK1pxf+pENjCm3PtG5VKBhlvPL32pi9ovzLVZmNS0EWB9mgtoc5s0+5gW5d/UxxIxRk5/lXei/o6a3hO2uXdx8lPeu6nO55lET0SRvSQ0tR/oO4KtBzMaQDUUWx/DFXT1L3Yh+BrmjDnuffep+MjVYd4Zc3HjePH3zqHjHZVt5X5qkydnJE4vmDzd/g+hY44MPK60PfIdYjB7CQH1stkWhexoiSQRmaODVEeFnumxPuKZxHxTRIrcW7pKJXDIs0d7gXUHFzvnYyHYm2VBLvaiK/pVb9gmsv19M8f/KU5l1/t2W0T5BuCLCK4BcG1WTG26YRpBQJaEGiyol377q6SgsBUZjTeUVbYbs7WaSv9WvrDr7TUBhnR9MEBu4ViZ0miQ5ZSnyNhrlbCXfj+Kn8B4609SDcglxgrl60yC4wq68u3UXu U43CQzB8 i+gp6ajsjM1tKX57B+SSTe00yHNp0HkM6t9CdNqBpzOWF7alOuKgy+VT2fX4f3A2ZS6yUDuruDkR4gng075AvV2Bf6UGnEnffiKMqJNDNCW8J77DYNNSE/gBf/Q+ev64wLhEo8BDhJjBJvHZVkO4XnAYDiciEanNQlC7X6SgTEqnqjb68WhRXNNszoi0VVBW7PnKy4JhbdBDQ8CIgrnPdQXzuiBHMKF2rVE80pnKn7+7xZR21llsy+zJ7B34kFhjghs7Z0WsR6NXcGG1JLCjClLBOe1PWk9V1UFrHcQKh9Qa70gpuh7ZmprnLGHFytrcoiCV3DRNvtQiWjctEZTpRI6NqkOpl6l26XBCfDfUBKusfpu6REh7k/QAYQ4ca27ZzuJVIkA9CbUbk4YLu0ibfiQzPAZyK99UCmNH9 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: On 9/20/23 18:16, Luis Chamberlain wrote: > On Wed, Sep 20, 2023 at 05:55:51PM -0700, Luis Chamberlain wrote: >> Are there other known recipes test help test this stuff? > > You know, it got me wondering... since how memory fragmented a system > might be by just running fstests, because, well, we already have > that automated in kdevops and it also has LBS support for all the > different large block sizes on 4k sector size. So if we just had a > way to "measure" or "quantify" memory fragmentation with a score, > we could just tally up how we did after 4 hours of testing for each > block size with a set of memory on the guest / target node / cloud > system. > > Luis I thought about it, and here is one possible way to quantify fragmentation with just a single number. Take this with some skepticism because it is a first draft sort of thing: a) Let BLOCKS be the number of 4KB pages (or more generally, then number of smallest sized objects allowed) in the area. b) Let FRAGS be the number of free *or* allocated chunks (no need to consider the size of each, as that is automatically taken into consideration). Then: fragmentation percentage = (FRAGS / BLOCKS) * 100% This has some nice properties. For one thing, it's easy to calculate. For another, it can discern between these cases: Assume a 12-page area: Case 1) 6 pages allocated allocated unevenly: 1 page allocated | 1 page free | 1 page allocated | 5 pages free | 4 pages allocated fragmentation = (5 FRAGS / 12 BLOCKS) * 100% = 41.7% Case 2) 6 pages allocated evenly: every other page is allocated: fragmentation = (12 FRAGS / 12 BLOCKS) * 100% = 100% thanks, -- John Hubbard NVIDIA