Received: by 2002:a05:6a10:c604:0:0:0:0 with SMTP id y4csp55742pxt; Thu, 5 Aug 2021 17:49:06 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwiYcJR6amV7j8f8dCRhEvTd8wP/EaItRvByKsiqtgmNOPGjLoQLfKRCQmZSCte6Y59O92x X-Received: by 2002:a05:6638:164c:: with SMTP id a12mr2825889jat.49.1628210946386; Thu, 05 Aug 2021 17:49:06 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1628210946; cv=pass; d=google.com; s=arc-20160816; b=0DayySvzzB+Tq3fcmfKNzOZmut/7XJPx2KugIhfrVHm5P1QVQ+KZRzGSxlshSvd+6g r292FnPR3fnOz5BUl/GunlW39iEfHIfwUB5YLcz3LRD7mqCqpViZPr/Odc6Yfh/DOhb9 jwUGECbO+M67XljGrU2Sj6QH5MDaCO7kKKrnO/YOtsi1iwZaIV5fGVyEr/u69IZEqFuG j6hSo3vsOGJ/xri/QHHEF2hYcyUryZLgeX7LVo3xd2W3WrkKbbKTBXpHJ6ATqurjneQG gJJa0J/kB/qAL2XVNnVgMGXmd3S4HLaTjMrAWksSuV0Lz8hrar1BnwJtoXQePrp/Ouc9 UFAw== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=G9wzdtRGbArFjXRAemPA+pknQ5qaD4XSWpYbq314Z7Y=; b=vldZtsXUwlnABsXjwxuxeqaZ0avCp6YC7jFoDOlaWDT5U9twaS7lL4c7+G9Pk7dOTR B62wKEbUN9+NdevHs/wPcEy3aJumTL+ag9cWEJ40MorlF1wTFQqWmflSowCLelScEX4w 28dn50jPdmmYuuimF+DRG+rKROk1+IQo4iXZKdvRuM5JwPoOcvw4HwTbrD2MZ+CBGGKI LzCwu0P4FLHbBqqpTGuvhdqlKbMt9FS7oWpC1z+UifHa4baL9ordB/8DblzFR8Y2Txxq wR90XqWOyyvy8qvyd3M6ikwWyVQINRNF1g5Ad24I3UKb2/Q1BFPAVxLVeRSRMzso71KG oohQ== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@Nvidia.com header.s=selector2 header.b=Wnp2LHYK; arc=pass (i=1 spf=pass spfdomain=nvidia.com dkim=pass dkdomain=nvidia.com dmarc=pass fromdomain=nvidia.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=NONE dis=NONE) header.from=nvidia.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id r3si7407818jan.7.2021.08.05.17.48.53; Thu, 05 Aug 2021 17:49:06 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@Nvidia.com header.s=selector2 header.b=Wnp2LHYK; arc=pass (i=1 spf=pass spfdomain=nvidia.com dkim=pass dkdomain=nvidia.com dmarc=pass fromdomain=nvidia.com); spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=NONE dis=NONE) header.from=nvidia.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S240237AbhHET64 (ORCPT + 99 others); Thu, 5 Aug 2021 15:58:56 -0400 Received: from mail-mw2nam10on2067.outbound.protection.outlook.com ([40.107.94.67]:6113 "EHLO NAM10-MW2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S229970AbhHET6z (ORCPT ); Thu, 5 Aug 2021 15:58:55 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kIUck4CgW8xO8ugjoFMzAuOjKgx4h87VLnOQkW/wyC3G6wPZduwnsjZFfGh2QY9hAe93rVEtg+0+OIIKvwyJXHVt9g8CHwuc02N9MG/jmO+YdwCo7UEoCQZNdjcxPstyZe41whodFUvgJP7fYt+fGRNsCRR7zbJDMjfWVzdOVqio83pRxlU6aoHRimwy6+6QpxxZv4iv0S2iBkbyK+qh+QCsMxiDMeZqTRg0NO8Zq9Hkmm7EODtkEZ0eeOffo8l9aaMcSM9qrYL61QNdXU84jrwJyrqeykr6j9TZxb+KHPTF0hS9g+Cgc7pW/hBWFS1mTARTlEsOVLvsohYy/VmQ5Q== 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-SenderADCheck; bh=G9wzdtRGbArFjXRAemPA+pknQ5qaD4XSWpYbq314Z7Y=; b=nH2O7Ur1wJ8sOMApczdOca/3kjkPC5Ys23ZGeMkRsMGpVToeEdY6ePCyfea/RagtvlAWKIaq14cNq43UBfkTbEtQgAo/bfpxkOrPK5sFs2uZU1DZiyZ7ouWsZaJ6bhmdnta4yZUIWlc5Ea/OpOntI2ZFVbFySdbMmdIRJbllO2M6B44DjOIoiIWrKgGUduvwmCOHVn2NDJwwVFUkvcSamqhuhJjTwf850BAVR1Ag7W6kM38zSsLFj1yChNXE7dYuiLaqIO5PAv/G0zffUORyatyoA3emjLpPCB4ZwzaMdcxRCIe+XPeU8ZHVcH4SK4eeqcGO2q3AZFk4irRQ978Zzw== 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=G9wzdtRGbArFjXRAemPA+pknQ5qaD4XSWpYbq314Z7Y=; b=Wnp2LHYKI9DWzmJZi1LcKkB7DrvOVIGUilwZcJvF+4BfcETcSZpZsoA5MjZLaPHkRQcEjpBxP3klm0iwwdX8fRZ8ZJd2ExIY7G27gmeI25YpIjJPrIu/CKufo+ZTXTJMpAQftdVagC+sgzJ+xd5VbH+4UepuKmbjKzY3FpdEjNKTxRJfWhouVMfeni2315YXOQukhFPEdUrHyG6469W7wLfRafGOeWu8wgE2BTqlfV//EpckBnFBzH7/yxFLJw/rt9NuiJkXYcKnuNUl6JgLkyZgLS2IF3WYy51C4QI1SKXxxX0L0+N1HCfE7+bfE9eXR8OM7jJaBBOGPEJq2tHwMw== Authentication-Results: amd.com; dkim=none (message not signed) header.d=none;amd.com; dmarc=none action=none header.from=nvidia.com; Received: from MN2PR12MB3823.namprd12.prod.outlook.com (2603:10b6:208:168::26) by MN2PR12MB4472.namprd12.prod.outlook.com (2603:10b6:208:267::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4373.20; Thu, 5 Aug 2021 19:58:38 +0000 Received: from MN2PR12MB3823.namprd12.prod.outlook.com ([fe80::dcee:535c:30e:95f4]) by MN2PR12MB3823.namprd12.prod.outlook.com ([fe80::dcee:535c:30e:95f4%6]) with mapi id 15.20.4394.017; Thu, 5 Aug 2021 19:58:38 +0000 From: Zi Yan To: Christian =?utf-8?q?K=C3=B6nig?= Cc: David Hildenbrand , linux-mm@kvack.org, Matthew Wilcox , Vlastimil Babka , "Kirill A . Shutemov" , Mike Kravetz , Michal Hocko , John Hubbard , linux-kernel@vger.kernel.org, Dave Young , Jonathan Corbet , David Airlie , kexec@lists.infradead.org, linux-doc@vger.kernel.org, dri-devel@lists.freedesktop.org Subject: Re: [RFC PATCH 13/15] mm: convert MAX_ORDER sized static arrays to dynamic ones. Date: Thu, 05 Aug 2021 15:58:32 -0400 X-Mailer: MailMate (1.14r5812) Message-ID: <0D3441BA-2A11-4BCA-BFD5-CAB8EB915B8F@nvidia.com> In-Reply-To: <586dda97-dc64-ade2-6736-a531e225acbc@amd.com> References: <20210805190253.2795604-1-zi.yan@sent.com> <20210805190253.2795604-14-zi.yan@sent.com> <586dda97-dc64-ade2-6736-a531e225acbc@amd.com> Content-Type: multipart/signed; boundary="=_MailMate_4B2EA1D0-8700-4B85-88FC-290FD6C94B08_="; micalg=pgp-sha512; protocol="application/pgp-signature" X-ClientProxiedBy: MN2PR11CA0014.namprd11.prod.outlook.com (2603:10b6:208:23b::19) To MN2PR12MB3823.namprd12.prod.outlook.com (2603:10b6:208:168::26) MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from [10.2.50.235] (216.228.112.22) by MN2PR11CA0014.namprd11.prod.outlook.com (2603:10b6:208:23b::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4394.16 via Frontend Transport; Thu, 5 Aug 2021 19:58:35 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 9c573dbf-dbeb-4aa5-b45b-08d9584b6ab6 X-MS-TrafficTypeDiagnostic: MN2PR12MB4472: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:10000; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: nhEtB1Pd/haTrVCalgs2kG77Y2fBwfhWJpek3opMFPNAdr4yZGjz2BS7Sp+Z5HriTMatgKmDDI9i0dZL8/PWaLEaylw1DcVlkghGkW9rhpucPX/SS6jKJZAvihnImZbFeMCt/S3qnpZH+ClTFjDOrX5navgpieI56xc0rBRxo8rVSTIZTMmHwbNs0aHHjQUeJP2LwzQ7HKVG825AgWsJQGlmb/re3QFOmtBNYH1KBzmkzbm0j+im9iwhQZsRi6sTAgccb539rjxnExY3vh7L+TL/RLB/Ir8WmAEJDWq++B3yY/sZkpBsYN6P0jJPVuxOrU4f3os0JDL2Onrzf7q2Mv1aJv/GS7DLM88VzWS4mYnaTcAawZQFVV6vgTsb7if4wGRjmmsI32z4KdZxyqHgNrpwRzOK//yplUBPVwo7op7LbLwTVvV+gARcF+Hmp72bL0bEeKgk6Bec+m3TkyFe6Ge5XJKCniqkDnvhgnX6KQP8r8d/l0e3b8Fryw+MglqWYWfNeDalGGuQyaLeLkP1Wb1eWI1veanGrFnn8PXGAdSwqO7TTax6XLKhL2iqpxHU0M/ESnUFwtww0yqfOS9hv/UcsZ2W7QafuTUU06yVqD96bOg1fKX1zNtgjZJgIkAUSgmxWV68RgwMusz438i7t284tulSMZig85GXcmfAtMiXK1D1S9P2dPgoOePW5q2UXyPZzmWKhr/p4x+dv50cJ7GVfLFQsuUepRhSnnldEqU= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MN2PR12MB3823.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(396003)(39860400002)(136003)(376002)(366004)(346002)(53546011)(54906003)(36756003)(6486002)(26005)(2906002)(6916009)(6666004)(33964004)(86362001)(2616005)(956004)(7416002)(21480400003)(33656002)(83380400001)(316002)(186003)(8676002)(66946007)(66574015)(478600001)(66476007)(66556008)(16576012)(4326008)(5660300002)(8936002)(38100700002)(235185007)(45980500001)(72826004);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?aWt2b1E5TTNWTzgrNGJQUHVhMXc4bFhWbEREZWF0UTlpYnRxMkdicUEwZ1NO?= =?utf-8?B?RDFXQ0szUUtFT2lGS2U3Qms1aFVMNEZGazB3WnJRRU0yR1ZMMWVJb0h6MU9K?= =?utf-8?B?cDZkT2lqMXd4Sm1jYkduOFhVQ0pObnZHSkxzSURhS3FpaGEzUk1GWW1yZ3po?= =?utf-8?B?K21pbDVhOGphU0p5WXN0SmNmcWlzOEhCSmVBY1hPNzJ2am5ZUFlWMGlIVG84?= =?utf-8?B?Mnd5QTlNd0FCM212ZXV0SUlHMkhueWh6a3lFMUZKeW1ZSk4yTmpMQndYYTI0?= =?utf-8?B?OEg4akkvcmVYR3MzcDZhU21BZUdsSTdJRGZRY0VJb292a0xKQ3ZDWnRDalQ0?= =?utf-8?B?Q01iWTVWcTA3SDNZVmpHNUJVc2ptSFJLb0pVMmQyTVU5OTBKUTJYY2tOTE1D?= =?utf-8?B?dXhlbUhwM3NuOTJZZzFPdmhFMUVSK0lmMUR1QmlLbVAvL2dldytIY3VqOWhW?= =?utf-8?B?Z1g2czFTQXlqRUt0VjB3dmtSdGErRFhDTEpsSVArd0tjVkJLQVRpb01hZHg3?= =?utf-8?B?YUk4cjNCdkdibFc2ZXJ5L0VjRGRUQWlMeUZJbmNZbFVUTlc1VU1kMWR2Uzlq?= =?utf-8?B?anJta0VIa2dqZGw4MEY5QjlEZEJ0ckxjaERydmdsYUtBcFRDN3hOUWl1SmEw?= =?utf-8?B?eDFmdlZmZ2FRcENXU3lpVys0UFdSQmZ6QWNQdjJWRFJMYmdUOXNwZXF2cnhs?= =?utf-8?B?bnFnTnVSUXU1QklvMzFPWWJLek5DeWZwZHY0bU1sdWFxaXZ5Ukl2WDZYT0U1?= =?utf-8?B?b3U2NDZDQzZDVFphdkYzYVBkOGpnMGR0NkJRRUlPWEJucy9CNTZiUmQvVTd3?= =?utf-8?B?aUZybmtXckM2MXgzMndDRUlwSmNNZ2c1UnVGdUNJcEFHRXE1bkNPdEZQajZQ?= =?utf-8?B?Y3AvYzdqUmNvZHNMcHBoeTNneEFBRFhpbTVZNGN6dXRmVDIzaTdXSFNiMmpq?= =?utf-8?B?aU14OGVuQjNUT3oySDFkUURRY0NINGxxa2V4anZBeG5vRDNreEx1L21lVGlq?= =?utf-8?B?eDVHbllGaEFWTEl6MlRvVVRBMUtzMVZzRFFrY1dZV1ZDcE9EZDhITHlrMnJ6?= =?utf-8?B?ZUJBQ0t6dGlwU2JDNGtLOG4zWDkxbnFzOEVDRVo2d2RZL0hEVXdGS2xKZnRB?= =?utf-8?B?TTU1WCtNbXFrODlYeW5JNWFmVm5FWTM5VEJzY25zMlpWZ3FLR2d5TWhUUHVx?= =?utf-8?B?TkJ4a0RGQUF6ekVuYTVsQXBHOURYallqOENBRTVDLzZHVk15OWt1RUVMVFRP?= =?utf-8?B?ak1sbGthNzlsL3J3MzM5NWlrcVUxUDl4T2hxRk5icmd6K0QvUDVpek9RKzBn?= =?utf-8?B?NWpKaWNlalJ3WkVmYzFHMlFsQmtHMU45MWlQNFl1K2ZPL1hWSm9QdzJLcWV5?= =?utf-8?B?bU9WcU5aYzhrTWNySmp4cS9lc28xRndOSER0WkZVMTc4VWVsQ0N0c2ZaSXAr?= =?utf-8?B?MzNxc041c3NtRzBxRXRtK0dKV2JIZjN2V2o3YlNYdWREV0s5VlhRbVhFMmJI?= =?utf-8?B?NDdhTS83aU1GcU9yMkdSR2s0dmdUY1dyem9za3g5UFpZQ29IcmtFa0ZGVm1u?= =?utf-8?B?bE45bTl3L0FRQzFxVG56anVGUWdadmRqRHNOdnA5QStrY2hkSUhjU1k3MkVn?= =?utf-8?B?NHY3S1Z2Y2h0OUFsbTJRblBhV2UxanFXb1k2a3g0RGNTM1R5SHpxOEFUMXBO?= =?utf-8?B?Y3Z2M2cvS05RdVdnajRxamJrSXRuQkxzZmM1ZDZtMnBpR25zekRJcnFxWEhz?= =?utf-8?Q?MQOzEPGKmKVGwZDip8nSlLfknIPqL4Azr1ECC9z?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9c573dbf-dbeb-4aa5-b45b-08d9584b6ab6 X-MS-Exchange-CrossTenant-AuthSource: MN2PR12MB3823.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 05 Aug 2021 19:58:38.7804 (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: ah5mMsCdOryIVnCLVv5w6kpQWcIrKHXrLhgzTuHvlXppQLCA9ArudkfDurDpKZkb X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4472 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --=_MailMate_4B2EA1D0-8700-4B85-88FC-290FD6C94B08_= Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On 5 Aug 2021, at 15:16, Christian K=C3=B6nig wrote: > Am 05.08.21 um 21:02 schrieb Zi Yan: >> From: Zi Yan >> >> This prepares for the upcoming changes to make MAX_ORDER a boot time >> parameter instead of compilation time constant. All static arrays with= >> MAX_ORDER size are converted to pointers and their memory is allocated= >> at runtime. > > Well in general I strongly suggest to not use the patter kmalloc(sizeof= (some struct) * MAX_ORDER,...) instead use kmalloc_array, kcalloc etc.. > > Then when a array is embedded at the end of a structure you can use a t= railing array and the struct_size() macro to determine the allocation siz= e. Sure. Will fix it. > > Additional to that separating the patch into changes for TTM to make th= e maximum allocation order independent from MAX_ORDER would be rather goo= d to have I think. Can you elaborate a little bit more on =E2=80=9Cmake the maximum allocati= on order independent from MAX_ORDER=E2=80=9D? From what I understand of t= tm_pool_alloc(), it tries to get num_pages pages by allocating as large p= ages as possible, starting from MAX_ORDER. What is the rationale behind t= his algorithm? Why not just call alloc_page(order=3D0) num_pages times? I= s it mean to reduce the number of calls to alloc_page? The allocated page= s do not need to get as high as MAX_ORDER, is that the case? If yes, I pr= obably can keep ttm pool as static arrays with length of MIN_MAX_ORDER, w= hich I introduce in Patch 14 as the lower bound of boot time parameter MA= X_ORDER. Let me know your thoughts. Thanks. =E2=80=94 Best Regards, Yan, Zi --=_MailMate_4B2EA1D0-8700-4B85-88FC-290FD6C94B08_= Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQJDBAEBCgAtFiEEh7yFAW3gwjwQ4C9anbJR82th+ooFAmEMQugPHHppeUBudmlk aWEuY29tAAoJEJ2yUfNrYfqK9IAP/1sWI6g4F8/TjyPqAnf9fJ900swOrmgQEmZg z5Gy4K0ZkagwjucAwQq+dAw/Ebii5ZtQx2mqjx5aSyfp+I1ErcNJ0qNqKTWTjcQD g/3hssNG6gmrf6mMstWHtediyWMkhH4WMCixpHocBZwE+3/zyyMtGHyOkLuAd5Ul 1nKtZc7CjgFM3FN3UeyV24HqLodhNIDYcQ5RHcHH+rNGBtoyScuZysYHFXBgNpkL 84S2xolvUObyDIHaVPPOhMI+zLZEJ8q3hOp+2ARqDS/2PsA9jtU+ICJjV4sslwnu chz1J49n36SwEf+Kq5Cgm5iTrOnp7ziBthQgxDk99qRNoV/pgI4Wb7AEI6EeYiDp 6ImZD3ZzhQ7dXGGpaRCYBmYDQGSN+UAUZJlccq5QYhtSWwjAgfkAtBkD7tE9FZgc AGXJS5XZDvRDD145vPvwWSYbMslQsWvTUiX37JubqF6rtplLfNy9P/REPaq2bkJX TCqBYWfrprvo6wfdvjmdFbBGV+K/VWMXlri8U3Uf7QTNrAccY/oXODCF1m/kn0w8 4aUFr8I1I5SI+HgLRz12CHxzn151Py2aubN2DtIFN/+lpKUyOd3eSAPoA+O1W0rY yEHamf+O9gZ00Kw9cqf25zxpGuGsBDKGOpecmD+yI5lb0B05+zHpsnM9PeCWO3Vq FaQ3HpsL =DyTs -----END PGP SIGNATURE----- --=_MailMate_4B2EA1D0-8700-4B85-88FC-290FD6C94B08_=--