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 96EB6CFA474 for ; Wed, 23 Oct 2024 21:08:25 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 0E5366B00A7; Wed, 23 Oct 2024 17:08:25 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 093A76B00A8; Wed, 23 Oct 2024 17:08:25 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E00D66B00AA; Wed, 23 Oct 2024 17:08:24 -0400 (EDT) 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 BF3386B00A7 for ; Wed, 23 Oct 2024 17:08:24 -0400 (EDT) Received: from smtpin22.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id D29EF140F2D for ; Wed, 23 Oct 2024 21:08:05 +0000 (UTC) X-FDA: 82706104824.22.9403A79 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.14]) by imf23.hostedemail.com (Postfix) with ESMTP id 5483414001B for ; Wed, 23 Oct 2024 21:08:09 +0000 (UTC) Authentication-Results: imf23.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=WNvAZ0MV; dmarc=pass (policy=none) header.from=intel.com; arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}"); spf=pass (imf23.hostedemail.com: domain of dan.j.williams@intel.com designates 198.175.65.14 as permitted sender) smtp.mailfrom=dan.j.williams@intel.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1729717662; a=rsa-sha256; cv=fail; b=qy9IA19lsReNGoJ6wTaNB9FlMo55iH9HFP4Vakm99LWE+kbZpbfkvIILN6Dbo0FYgCAfaX 7NI3VaIfYfPwlIz+VEZWkm2CSsoqh/eBpNtKptZIGRKSx5YGsM63DqD9OaHy95DvqMt3cO Vff8ttbxVxPLjL2y4/8qp2Iq99Mf1z4= ARC-Authentication-Results: i=2; imf23.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=WNvAZ0MV; dmarc=pass (policy=none) header.from=intel.com; arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}"); spf=pass (imf23.hostedemail.com: domain of dan.j.williams@intel.com designates 198.175.65.14 as permitted sender) smtp.mailfrom=dan.j.williams@intel.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1729717662; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=4m8QlFRJPEVMWes6OtBe4+naf92ZAsye3Ro4ewdI2oU=; b=TH5bUqTJz601CwbODrH/5yJdG1RGeTJ30+JWO2UixfiYVJlp0kcFnvhFgQY15UVy12SuhL hTdsOCMSBmAhFUFfXKDW4iYbsrUh1C8xLM3PGpWEn+ZMZyVN+nHzGcC+4kzXCmlEeqEwLV VbCwWXwVRpVlPZ+UQWruQtS4kd6DWas= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1729717701; x=1761253701; h=date:from:to:cc:subject:message-id:references: in-reply-to:mime-version; bh=ttonG6TrX8ouStYtr3W+PLaErcTh6wFbT4OT3zZhX5k=; b=WNvAZ0MVRSNA39eBnZCLSwJ0EFzN+JzsPZFyMaa/tO33ZNjKacTrwppU cwMRUtNO/HVF+cI0GQtO0bIh9AuPDx9JXZvLDpa7CcXoOXAARTEhlG8p7 dPk+Xg0jgjtuej9fCyrxajrmmu8pJnzNV/sa/Ne4nVQa1m5yfNIM//KfS WpO3P2wZ80NGYAMjqg7pzCFLk2rToC7R4AE9JqWfDG6PcWX0eoOBuqmSz NEubSB5ZX55dsaatySIKSWT+YT0nEu8gI26Ivod7pB0u70PDKUc8xRPFn Vr0EJ6/vP7d1b+dlvMK+RHk4HEDj6L+lIelAE5cRnzQdObRCChOfSwgQX g==; X-CSE-ConnectionGUID: tPjT5HTuT6y+dEZrP/CE3Q== X-CSE-MsgGUID: IUhPzCuJT9icIlLwGOOXzw== X-IronPort-AV: E=McAfee;i="6700,10204,11234"; a="33134523" X-IronPort-AV: E=Sophos;i="6.11,227,1725346800"; d="scan'208";a="33134523" Received: from orviesa008.jf.intel.com ([10.64.159.148]) by orvoesa106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 Oct 2024 14:08:00 -0700 X-CSE-ConnectionGUID: FpJmvzKtQ9iKgKZMNdhkjg== X-CSE-MsgGUID: TUWoCSU2SU2edFCTbV5pcA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.11,227,1725346800"; d="scan'208";a="81214982" Received: from fmsmsx603.amr.corp.intel.com ([10.18.126.83]) by orviesa008.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 23 Oct 2024 14:08:00 -0700 Received: from fmsmsx603.amr.corp.intel.com (10.18.126.83) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Wed, 23 Oct 2024 14:07:59 -0700 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39 via Frontend Transport; Wed, 23 Oct 2024 14:07:59 -0700 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.49) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.39; Wed, 23 Oct 2024 14:07:59 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=jGOhw6tzvOv+Cn9rHqKpQpRfSIOHZpy0a4OHU1gOnZNhRG61CKxLb5d1WppeajThDAbyZl3fHFDaVBbnXX0Jp+Gctd2Q9iptP/WdtLuJaSbyHQgNS2qmNFJHRdp6Rh2dIAzM6iftvGj7dnMZ+i5nPRAieWKnVoEp6dndIqVeQtgLv5NUN8wwD+8PAC3sE9zx0+wCD0P1fZRPXCjW0Ubl5e9tSPAhikNM9VfxYgrd2mA7eABU2pPryzLhwXNLOv13UMfSO0cmxpozok2X0kRf/FQDyWgaNI2kd2nNyVn7sDmOCC1rphNFHYeK0eeWc/8U5IPiLGeGKhmjyFvhAKYQvg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=4m8QlFRJPEVMWes6OtBe4+naf92ZAsye3Ro4ewdI2oU=; b=yTTSVoxZ9JnizMAkNdGp1qLMEIRXbkJnIqDphYY/QH7Q4UCZRLRLOLM7duHBwBA34ZWUP2G26ICQZpIhLrSCG3iTI92xNVwf8RqLC7E2id8fmo3b4PVCa42Hq37efdEME/bxOxp0/yZTF3ISFS9yrXBCLtZWNKBMy1klWramMK7d1D15mRUzHKHYGSliYFLG389t/U3iT947nx9FkRTC9mWIeV6r2K7/yDcITrhUjz99NNFw1S61csrevNvQ8tETzRDA6y3XrEluAXACIMkWyqCSrwyHTxU1IawVJmv4I7h695PPTMROyWWIsXTEHs/LC8xvzr0+yv97cD2QL+iQXA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from PH8PR11MB8107.namprd11.prod.outlook.com (2603:10b6:510:256::6) by PH7PR11MB6053.namprd11.prod.outlook.com (2603:10b6:510:1d1::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8093.16; Wed, 23 Oct 2024 21:07:55 +0000 Received: from PH8PR11MB8107.namprd11.prod.outlook.com ([fe80::6b05:74cf:a304:ecd8]) by PH8PR11MB8107.namprd11.prod.outlook.com ([fe80::6b05:74cf:a304:ecd8%5]) with mapi id 15.20.8093.014; Wed, 23 Oct 2024 21:07:55 +0000 Date: Wed, 23 Oct 2024 14:07:52 -0700 From: Dan Williams To: Andy Shevchenko , "Huang, Ying" CC: David Hildenbrand , Andrew Morton , , , , Dan Williams , Davidlohr Bueso , "Jonathan Cameron" , Alistair Popple , Bjorn Helgaas , Baoquan He , Dave Jiang , Alison Schofield Subject: Re: [RFC] resource: Avoid unnecessary resource tree walking in __region_intersects() Message-ID: <671965a8b37a2_1bbc629489@dwillia2-xfh.jf.intel.com.notmuch> References: <20241010065558.1347018-1-ying.huang@intel.com> <87set3a1nm.fsf@yhuang6-desk2.ccr.corp.intel.com> Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: X-ClientProxiedBy: MW4PR04CA0204.namprd04.prod.outlook.com (2603:10b6:303:86::29) To PH8PR11MB8107.namprd11.prod.outlook.com (2603:10b6:510:256::6) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PH8PR11MB8107:EE_|PH7PR11MB6053:EE_ X-MS-Office365-Filtering-Correlation-Id: 7dbf139f-0d5a-48ad-4f5d-08dcf3a6c3e5 X-LD-Processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|7416014|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?rtblx/8DanTeYyQrST8sBf8+IiAbdPpfy2UwUu3tzf+pb9Ib/GfD8eiozyTl?= =?us-ascii?Q?Pznfdh3HdRxxQx6l8b6rLhDxzQ3GwCIOZiAzDsW3K6e7LyOcAM+0QAGE8etX?= =?us-ascii?Q?8oqfbFqRoSoPO7JiAQl7xXZHj3uRvxRcBdP1TEesPjuBMeSppu1fgK4OjKcb?= =?us-ascii?Q?EfVJF0zrF+7/tIgCHzIdxVE2B5x07TruYZaHXjUexABnuz7BNao/o1sTwNFU?= =?us-ascii?Q?7R/E54wJqzt5uzPTLehNKyLDiMjggc0aC419mA88xSkqb1WJh7bQN5hmOYZd?= =?us-ascii?Q?kDWlMwhicNIvNc0RsrlpmQSfObFNol0qqnP2D8yqGJqI/gjNmG2HeCnT4SrH?= =?us-ascii?Q?NXLqBp3eF3zIgsBVPOun132Kc2kL+tgLFb5X3q5gCKiVZUI85m46cLJX+OnJ?= =?us-ascii?Q?pRpV3QTNbCUky25/fT/FIarZHc2N6MgpsWzBeEA/hYazZoSCud4sdLodI544?= =?us-ascii?Q?aObmrKxyNhJApSQ/ySTDUhX9JcfXaVIGP/nTW3h6KefP5/IufFwmu38U1gvX?= =?us-ascii?Q?1HacEi1Q71PwJttRt5o5sh0haxev5IzFrLvSIJpUZV9wx2y2u778nwTigzH2?= =?us-ascii?Q?bGU21AF4Y1RX5Qp1y7uVNzMhNZwQUPKIBun+h9rfc/l09XD/INBB3cFQhnds?= =?us-ascii?Q?rxOmIaBxaQP5vp8SGgAE4VMCLL757cPLutxJWvG1ER3MOFE8sjYWZ7IwQU6s?= =?us-ascii?Q?JAzKf5Uz/DdHADzJExPAkgYbJFv8tg4Y3zMq+Sq/SI1WKTAqkyn2RDiV8pQO?= =?us-ascii?Q?O+k8vy0I9D1ssg1xsF9Yw+ecHMmEctwgDmdGDdB8lv0IV2uWxk2MARuex7eQ?= =?us-ascii?Q?TZ8vvumOmwYkRfKcvFwVWu5e4ZvuhHlUQI6HLo2mCcXZ8NsthBYoX6hGpMOX?= =?us-ascii?Q?AHKuEwGgE1Winot7Uy6vNIFrgJenVGXbuMOmATlxCqTXnCZSm71Ln54YTwha?= =?us-ascii?Q?Wk6Pby/lIHRNZsxS9uxUNCmFqmNJwTuLO1zOx76w9ATXxH0ne5gGZM8hT6eO?= =?us-ascii?Q?RSG4KjEC6/gKbOKJBrWVz8G2XZPnv9Upoxvt4IC/zIWWDx9ITNWz4NxH52s0?= =?us-ascii?Q?640bYeY82lZYtLzkn9xjKgu+KP4w/qPCK8fkbNYvp5pGi6eeoa7aj+zKRGgi?= =?us-ascii?Q?NBLOfCVo/XhOjq/nm2R13QPGJqNh9Ic746E7TwqQ5345T2u840D4JQDKYMj3?= =?us-ascii?Q?CBD0dme05nJhyTzzBSy9/gGSQy2ZFQSe2SJB7QRD29gi3xrKlKOvykd57KKf?= =?us-ascii?Q?E4aBJGAIw9efkaNP1QuUqj+sW0TuV4JNfgplNKe2swIyS67X/2WXzzUTw0Lw?= =?us-ascii?Q?h+76nfnYlKnIjLQ+D5a1sFYX?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PH8PR11MB8107.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(376014)(7416014)(1800799024);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?u0DmQug2hxNIgUrvYQWUSiLx+Gz+XVoY8C1hCAOkiidrbbh4CSQpap+Gs0JJ?= =?us-ascii?Q?+BZD9xhyTRXokw0F19Mc8fIvD4aky8evO/Vm7VhYtQALU52HZugdHzSt4ef5?= =?us-ascii?Q?yhb3kL32sJ7+gz1SHfLA2Rq+Gv2RZvrcgw6iew/Ax0a8JynEzV+cKLbLRXlt?= =?us-ascii?Q?3vtPgIeKQcSbrcX5UPKvfGoLV5mohd+aK9zejPQDzLMMGU6fbDj2u92vr3Ms?= =?us-ascii?Q?UQJb4XGgLetiNyZKZQpkpvRWrWb37VGz0nLK8nSflZtIo5ezy7uo4ffAyRkM?= =?us-ascii?Q?naXKZMMu4L8WQAgvdqgIeKJfb4fK/V4TNwGSn7v9Aa/7ZsvM0D4IQ6UxfLov?= =?us-ascii?Q?/KnrJnsjzqwx8rgihEUpCW/xVQ+5W5eHZKU8f3aI7up1DAK3hpJ/R/E8T8DD?= =?us-ascii?Q?3SeeYeNnDF2OfEVX2rbO6T72gpHd9658kYvQwj4XLcZg6Uej+FTKXXZ+F9kH?= =?us-ascii?Q?SB78EyloOB9KxUL/WMotOuPDYuugOJkvp2OIHGCXxdE8LovXgkzw3Yr+uwRv?= =?us-ascii?Q?po5vbEpccXVq0dQkgTHOyqQq19WQb0x+WemklizCjxJ4bSCVBE0gxjaRlodM?= =?us-ascii?Q?ZoFwSmZpUxwqUyXwAuDoRFzP7vqZp4j6Aj8oLyMFZuQ80pO21ZTgphoksCM6?= =?us-ascii?Q?9R11LuKxav9bVMHX7f6pZljF0s5l/GGiX/nzOGcmplETWOQz402ydPs3tryW?= =?us-ascii?Q?3Nnw0wzQiLWZ75Wp0KTLQFPwsE5clQQEhQ1/wZQbkKu4oN51OiufbaP+dK/6?= =?us-ascii?Q?vj98TJmivhrCRywBky6Xoro+lmFwsCJja9bWkeLj3LSkVG6unPvD9fk4t+kO?= =?us-ascii?Q?VO3gfSjpfgLo1UCesjY46/RZ/dve4pAwkiN1jfm/qBkB7EtQCngRpc9PITSd?= =?us-ascii?Q?P0AQaqQNUMlRW4PjabWLo08970SBKXfn7QvXY+CRv0CHtUAoVrW+Vs9SDtJJ?= =?us-ascii?Q?jEAt0fHCz52hl4tFuy/1aGjToIXJMgTHeVw0R/hVt4bQ3odKAbNEgaEMxPo1?= =?us-ascii?Q?DVArVO0f7MdOvYb8tf2DHkSX/cl3QMuR3GJ/Nv0wcrivvWjOOg+JWEPuwiZc?= =?us-ascii?Q?YJByFUIYzXG7zK6weFcmWPBqiBML6T1op1ncDBh0rSq+kgeUwUFt6qfs1X7i?= =?us-ascii?Q?F3BZ/Ek0u2cLl6REoqmx3V2zcOtl1kk+mMcFMWDUVH+PtraeXOcuwmkPQrW6?= =?us-ascii?Q?NnYl+4aj8eL07qdFxO5cSRcC9QkuDmeRBKnjlG1uy4YJgmYZQo5PAcSZI6ZU?= =?us-ascii?Q?6TT7huSIPoNPjBqkkO3yhhO1hgsDPykU0Wm/w/U3gYAVHpAJiqQMGpbcsevw?= =?us-ascii?Q?3MtQ4RKRaP7Qk8VL533IAcNF4hTtE2XUpflZ8WWuLmropy5L2y/2LhVDaonQ?= =?us-ascii?Q?suI+nbfD24LwfUeX9xZ8STDnJgWxpABqgec/sfDJr16YpmNAcnibw0oWoBmf?= =?us-ascii?Q?bz/8Zl79y6I8vhGPoNXqmHdSkU/+IpJ1/H76ye3QdL8gg/RgRAZTw4nDsjKL?= =?us-ascii?Q?UnUJ5V+SATcUDMh4xGoOXQg6mw2wOFgcjy8U+EJMfyIcmPX3ktTWU4S3boCC?= =?us-ascii?Q?fSFuG1cW3MmMHpNlWcEAXMfn5aXd1uyokAza05X2K+39eHzCrUd2oTmx4s6J?= =?us-ascii?Q?3g=3D=3D?= X-MS-Exchange-CrossTenant-Network-Message-Id: 7dbf139f-0d5a-48ad-4f5d-08dcf3a6c3e5 X-MS-Exchange-CrossTenant-AuthSource: PH8PR11MB8107.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Oct 2024 21:07:55.7905 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: hp5iCmiGA/u9+ESnq/uzx/K/LP3XqgAbJQ2A7WMzeQrC5G/HEYhI7S71NqQwNLCbmqpHOGEs58spa4SHl5uV8WY8Q5vnPQ+q0m7LC/VKWmY= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR11MB6053 X-OriginatorOrg: intel.com X-Rspam-User: X-Stat-Signature: xgpaje8r348ajz65k6bao8urqqpsidqw X-Rspamd-Queue-Id: 5483414001B X-Rspamd-Server: rspam02 X-HE-Tag: 1729717689-524344 X-HE-Meta: U2FsdGVkX19XH+fv0amx3wmXOk2/rAVj76pNbYhoRsy0LhIOg1E8OFoWsNzioVcQ68CL380K4PuHCE9g44Px7ekwq1ZQV5oSegWS5Pew7AL1jOj0mJRV8QiQID4cECFZ4wdoXn0bl8N6TzzBtjtJdsA+1qR1oS3G2kI8DRkSigWiNvZvdFyzeyi5C8iLRzQzWSOmrLZL/zaWr8vK0NX6fkbA415+Of3FD0t9QSYP5E1MSSRyzS77PWKcejdYjG85RkyfYHIaRMJtF+yAWdIthhgQ8yCtGpHkYNI9Qgvb3f+TFMc6QUEF6WlG39DhBVNQPhiZt4uFVVorujOIKDYNNzh+2lugTp9u+EieTE093LNMBc0+WDtxUa6edFImmyYfxgN/60kD+W3bsjGmHFbdW94k9EPzoIh1hEvCgIh5gt8vC3//ZE6KUogZOifixE6xlTau/WP8kQZTqgX15aoSTCSKyXP/NQp36BFSCXC/6qxNPlryN77zogegNNXnncS7BpOt30Odun8RZg0peu+m3Th7jtu7Eywyn1I4g0NTz0GMkHRp7v4ApUrBJdSOqeXVpPg8ouasheBlQqw47tTvSUOFUYIC1wHQPNZzK+hjQsYPEBW9pD16ownMFGSj5UNy4DN4Fi3evZUdzkJVH0vTnOHjdOPUn++pIsdVqlctCur3rqECk4EhqYS6NfOloT0IWAhTIS8X3bHxcTwJexCUiSE35gDVpmW3FRFwEROAuXhCMLGL+NQk25tdWh02H0nwNBt0kgo3gK2+h+1R9lY3xkfGW8BzpR9B5KU0k4U6Pfx1RPFrMM+9dKkjUDtz++jktCH8kNi/wBKMvTHf1J0bdhX8sT6Wa3CiA7Bll3K76h9gqY2DIf7HDjJPU3meh8hHJdACHFq3jXcBV2FxUX9/kWhYOXKunjklKyVlHkZpk9rhmc+KrfAbZgCqqnW4zPX/zQCKRXJSDnXFBBUSMKr rm9oODJh JmD0fkMy0DhewHZLaMiGDtY4XOs0qdfwhfSa3wyf0wVSoiyiteZDdJgHegVFHAgnifBenIJ2yPuT8Okx/Gcx07/F3gyY4SBNiImpCQepNUwTuohOxxxBA4c+2WQZ0gPf1itUo0sVWeUHMLtuZkEkpvX+SCyet5Rze9bdHzDIq1bo5vzacEf9FD1T0Py/TsBpOybjDjK5QytWEw8k7mRjOVGiTJ62TGxHhiKp5iEG3pQUwHXW/k4mpG6jhCYeY4krOY4dOviEd5O0uvSsS4hvzZPtmDX0OVjbCkkEaEa3D8Woo4mwWYYkdpNrj5j08OohJlCzlvMk5Kui21/oTTtNtSi2WfpapId4A4tMtUhuHFjtRlz2lDONIcW83uhxBncGeFeisNtGT02oYQUrz9NfkYDQmgfC9uzVyoATOBxZQZosKMSfaWPAINJE8hA== 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: [ I was sent here from 87msiw4j1m.fsf@yhuang6-desk2.ccr.corp.intel.com, can we please just create a for_each_resource_descendant() as Ying has proposed? ] Andy Shevchenko wrote: > On Fri, Oct 11, 2024 at 09:06:37AM +0800, Huang, Ying wrote: > > David Hildenbrand writes: > > > On 10.10.24 08:55, Huang Ying wrote: > > ... > > > > for ((_p) = (_root)->child; (_p); (_p) = next_resource_XXX(_root, _p)) > > > > Yes. This can improve code readability. > > > > A possible issue is that "_root" will be evaluated twice in above macro > > definition. IMO, this should be avoided. > > Ideally, yes. But how many for_each type of macros you see that really try hard > to achieve that? I believe we shouldn't worry right now about this and rely on > the fact that root is the given variable. Or do you have an example of what you > suggested in the other reply, i.e. where it's an evaluation of the heavy call? > > > Do you have some idea about > > how to do that? Something like below? > > > > #define for_each_resource_XXX(_root, _p) \ > > for (typeof(_root) __root = (_root), __p = (_p) = (__root)->child; \ > > __p && (_p); (_p) = next_resource_XXX(__root, _p)) > > This is a bit ugly :-( I would avoid ugliness as long as we have no problem to > solve (see above). Using a local defined variable to avoid double evaluation is standard practice. I do not understand "avoid ugliness as long as we have no problem to solve", the problem to solve will be if someone accidentally does something like "for_each_resource_descendant(root++, res)". *That* will be a problem when someone finally realizes that the macro is hiding a double evaluation. So no, this proposal is not "ugly", it is a best practice. See the definition of min_not_zero() for example.