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 8CE7AD0C61F for ; Fri, 25 Oct 2024 15:14:38 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 20A546B00A7; Fri, 25 Oct 2024 11:14:38 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 1B9486B00A8; Fri, 25 Oct 2024 11:14:38 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id EFFE36B00A9; Fri, 25 Oct 2024 11:14:37 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id CE20D6B00A7 for ; Fri, 25 Oct 2024 11:14:37 -0400 (EDT) Received: from smtpin19.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 9DBA8AC745 for ; Fri, 25 Oct 2024 15:13:58 +0000 (UTC) X-FDA: 82712470512.19.9BA12E5 Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.15]) by imf04.hostedemail.com (Postfix) with ESMTP id 3018640018 for ; Fri, 25 Oct 2024 15:14:07 +0000 (UTC) Authentication-Results: imf04.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=cXwO9t7L; spf=pass (imf04.hostedemail.com: domain of dan.j.williams@intel.com designates 192.198.163.15 as permitted sender) smtp.mailfrom=dan.j.williams@intel.com; arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}"); dmarc=pass (policy=none) header.from=intel.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1729869221; 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=OZ4veQmQu37vRf45nONERBFuuMX+sfvnXkzWlxtVKhY=; b=eEjwCK+OwGCHd3KI1/GNiKTsPhrdhrX6ioMzQ4cyqH7pjoL+wo1PjlcWaa5Obhr5t3eR8B gHw3AY4rFf1HaAViKNNSvMvfqpen6/I6xwhpW5J6jVNP6yZQvO+v1akltFAa25Eez6yEmr HF4v9e/WjacIIpu0pL+xpe5j9iKVwtI= ARC-Authentication-Results: i=2; imf04.hostedemail.com; dkim=pass header.d=intel.com header.s=Intel header.b=cXwO9t7L; spf=pass (imf04.hostedemail.com: domain of dan.j.williams@intel.com designates 192.198.163.15 as permitted sender) smtp.mailfrom=dan.j.williams@intel.com; arc=reject ("signature check failed: fail, {[1] = sig:microsoft.com:reject}"); dmarc=pass (policy=none) header.from=intel.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1729869221; a=rsa-sha256; cv=fail; b=VkBcWqaJiwdLsEjHXS+wE2xnqShFYBAeeqkuzxAFbIevHSO7JZpoexsVPJduaXG6L/az0a OH8RTYsx3PrtSM3cManuWr/PPrUSeKf8+AzU66DdT6c/C2gbPRksGF9znhMpL103sQRxLn kRf4QyBDlbTP8hKVW2fK+uRy2QIJ5Nc= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1729869274; x=1761405274; h=date:from:to:cc:subject:message-id:references: in-reply-to:mime-version; bh=lmsOTlBNkkbvaIodOBo+/oM0y4fE4X5E+kJVleVvsxQ=; b=cXwO9t7Lz19+L3Em9hm5Bu8WR3ww5KcgLLNudQLZxzKzcRErrrMt+kit doVEtZVfCZ1vJnhhIb5NYgXFaOtpunGBguKVNDrIvJgow8i1snUXgWry0 KQngcedN6ZheTV4f7SKjCljSBvND0Q9wHSomY9ADjo20BmbGqM/pPUJpt wyeQLetoJKA6z8vPJ8YlKf4I76QyKTNLPECzacoNlwV//P5XpElLBBxbD RsoyXlOdDlSKRRw1pIZpZ3B0F2P53J8H9hklOlWHYFDt1Gp4Fcevptmgq vVDcv9KyVRRn6G7UAen9dAoULrR+CxP08XftWctYOTb6pmrjrDJahhzD3 A==; X-CSE-ConnectionGUID: DXweHDfVSIuD0juFkBIavw== X-CSE-MsgGUID: uxJ3ZGOQQcGDgwYlC+EfxQ== X-IronPort-AV: E=McAfee;i="6700,10204,11236"; a="29659315" X-IronPort-AV: E=Sophos;i="6.11,232,1725346800"; d="scan'208";a="29659315" Received: from fmviesa002.fm.intel.com ([10.60.135.142]) by fmvoesa109.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Oct 2024 08:14:32 -0700 X-CSE-ConnectionGUID: YL+MCiRxSeWZOkLGKq96YQ== X-CSE-MsgGUID: O1GCSY/DQ6CWZlZSxWI4vg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.11,232,1725346800"; d="scan'208";a="104241845" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by fmviesa002.fm.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 25 Oct 2024 08:14:31 -0700 Received: from fmsmsx603.amr.corp.intel.com (10.18.126.83) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Fri, 25 Oct 2024 08:14:31 -0700 Received: from fmsedg602.ED.cps.intel.com (10.1.192.136) 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; Fri, 25 Oct 2024 08:14:31 -0700 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (104.47.58.174) by edgegateway.intel.com (192.55.55.71) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.39; Fri, 25 Oct 2024 08:14:31 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=mdEDwvItA2O4g0btcx8It07eY963v/B6t9o+SfK5QEPainaQsQSBFFitx0sr9KAUG4WbCCGkbBr+zqS2DlhgSOzDYlVoIe71lMH1VvPFVfXRIL1zPyAGF34jKLtRwasQQxLV43h0FCu5po5Fh1q5kFvLfrEV+8bUdyu/yqSiX7rAPjIoWmjrZpyicLyMLpwc4zBsE/8e5Rx2PK5npfVi9GsOWFANTeJXW4WRnjtJ2AG2GpJHUEbgpa1ZhnekExcz2Kz6phqmLRsaZ+ErRUMQsY/lLTJaeiqaNhSitMvh8TmTCCpasrzH8d4mg5oqYxiOjxeRib8WFDTNSedE7h9vgQ== 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=OZ4veQmQu37vRf45nONERBFuuMX+sfvnXkzWlxtVKhY=; b=vWgvY5wiV97r1hUdWzL2g3NY5AIcewUeNw3cEjsqCEet7EQAJ9I/1AIm8mcwE0GNuYBlLs8F+Ouj/sZthKit38IqrMZxshDDn7L+JEmFG9LXoQEZqGMHB80DrEWHbQWNtdbkpH0Y2IFf7SaGqtA+bnczS86V3/Xxtep42Sp/gkWZauij+VbNCxzf7aUs0MeI9O5xOho6hOVBt8483tU7tm0sR93vhrXTsfU6/1dyyktlVpl2eUgrvZVJh/QYu/GFuZExoMfB1wYgYXkOBcyuJ3k3G1q97K7kxM5lFDgLkH/JCJsIwDyf3p4pdf3EgJMdDuTIXfpn9aobXVeXTMSo+A== 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 SA0PR11MB4526.namprd11.prod.outlook.com (2603:10b6:806:96::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8093.21; Fri, 25 Oct 2024 15:14:28 +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.018; Fri, 25 Oct 2024 15:14:28 +0000 Date: Fri, 25 Oct 2024 08:14:25 -0700 From: Dan Williams To: Andy Shevchenko , Dan Williams CC: "Huang, Ying" , David Hildenbrand , Andrew Morton , , , , 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: <671bb5d165_10e592941e@dwillia2-xfh.jf.intel.com.notmuch> References: <20241010065558.1347018-1-ying.huang@intel.com> <87set3a1nm.fsf@yhuang6-desk2.ccr.corp.intel.com> <671965a8b37a2_1bbc629489@dwillia2-xfh.jf.intel.com.notmuch> <87wmhx3cpc.fsf@yhuang6-desk2.ccr.corp.intel.com> <671ac2d2b7bea_10e59294f2@dwillia2-xfh.jf.intel.com.notmuch> Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: X-ClientProxiedBy: MW4PR03CA0025.namprd03.prod.outlook.com (2603:10b6:303:8f::30) To PH8PR11MB8107.namprd11.prod.outlook.com (2603:10b6:510:256::6) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PH8PR11MB8107:EE_|SA0PR11MB4526:EE_ X-MS-Office365-Filtering-Correlation-Id: 4fa529ec-f30d-48d0-5fa1-08dcf507b805 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|1800799024|7416014|376014|366016; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?xpDkTr+ObOE2F1dFAl08GJPsXopXSaz0HWTQdokKIc4X+UnRNHg89ARqGVOg?= =?us-ascii?Q?Q9UagEmMi5Gi0zfqBuu+w1SEc5jkquaiQl5YrACpzc9UpPQBIdb0JhDS1tqo?= =?us-ascii?Q?evCSPzNyoR6ite41wOJsLws4B5hdZMi2LkZRNDoUFq4zxi75onJJkA3Iepr0?= =?us-ascii?Q?pumWajRmOXF/4V4rH7EMRUbYhU7LuPFtAyij3kfG/h8pCh1yc+7oUG2ccO1i?= =?us-ascii?Q?+XUIEhjmr/hxKCMD9QEfEOWlx6p/QVu1DmLpyHxMWvzDWGze1feNK41MTXao?= =?us-ascii?Q?x5PvNYUs/9PTZlH5GEj9Dz8DgAmQa0tE/S4JkkvDFJ2zZqSFTBZ3ETN8SoZx?= =?us-ascii?Q?DSV9qpbXUz3o06BgkHwMrRnsyc3Gaw2XcOCeN7m/EePGmIQPA5T30rIMbADO?= =?us-ascii?Q?+xlTzRj2wNH9CSvXM0pG1MqpBjJUJJkW0cUlGshVvvKNXr62GGaE07nS4H21?= =?us-ascii?Q?bv74SThM6SlQkNLAdTEHtcu8TJsRFkNGIFhDwMskmCGayxeKEu68UNC2e841?= =?us-ascii?Q?d8IDBROVCZYDy8MlDR+meQddF4aBCVqu5KwwLahlGiTTk/wRMK56ArP4UVFv?= =?us-ascii?Q?z3jiYFuX6kLsYqg7Ua/5HBe81i0yiQXU+eGUJUGxqyJbzevYYwQZybImhnB5?= =?us-ascii?Q?RobeEIgZ6GFWSideHqyRdhckW2XowJH5CR4PLJA99P0Ty0fPlm04/7/gLlVA?= =?us-ascii?Q?8645ZpyUAp/BpdauGJR77gwaNKBcVdfzqHOYVF+/k2CYg/XaRfoV83NAoKgW?= =?us-ascii?Q?l94s/ewqK+L/uuAdLz7wriJJTyl+NSNxl4VFyRquK6Q7T5z4cuB6n78DZ/PZ?= =?us-ascii?Q?ZZNlcBkxT1ERCGhQAQ+KYKVoVZIQF2TvJ7Tq9i9HvLwbTxmc1Lw4XCgoXxoP?= =?us-ascii?Q?431Yh1pFIntq8SZE/mgb3NsV2yQU8HrllF/o56plt6RTbIkBLdbaV87D+5IP?= =?us-ascii?Q?2Uc7EwSWbMIEJvve1BlPGh96DKvEcmb0NLMxEjmNlVQ5gO0H811se1fjktRm?= =?us-ascii?Q?Yu4SkW8NnQnXkwZzyYjBQDWW+Ks3qRR6g6BPgHW0lu/UPN9gUISHIbRK0UjT?= =?us-ascii?Q?Rf4oAHOtDB2qOfXRDmfMtCUq6RjSCfM/eZ3hUA/a6fEXm5FSMvU2GfTTZi39?= =?us-ascii?Q?p/zpLihT9QvpNRpNBantvdsonUsSCbACcW2XDjrC/o9Tx/9l7u9yDsXLAkRl?= =?us-ascii?Q?4RbDPe1tWRCco1m9ZQXW1PknQ9pz24sPqEIL35UN3SAkeyEjeGEEeL+wisYj?= =?us-ascii?Q?8kZC3ISPp6pMvZEiE/opoHhgTPt5em741eJ5wfVxEJW1/xGqP/hP8g/cTIX5?= =?us-ascii?Q?R2oMRBiAOsB2A/1X1H11NWmP?= 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)(1800799024)(7416014)(376014)(366016);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?nGBUkoyMdTFaX03HFcdS2k5kcanzAGnopkMKXYbl4xlGMNHATEicraAF5G71?= =?us-ascii?Q?znJWyK5REU5uBLveQwGIw8Z0HLEuc4IRrXUsQo1ItIWI+E44ejJBTHbIiCbJ?= =?us-ascii?Q?YkPQ42019CafuYAXzQWnXx75hFhZEVda2iy6yHTXiKE07wpacAXBJf+oHEF0?= =?us-ascii?Q?MuoOjTjPCiUE/aZ7ZE+MEsh+iIYN90d2XodhOODI9bV3FKOhRjWPtwzbf8Zv?= =?us-ascii?Q?IdD1JvO55Sgn9TT65bK6vF8L4y/wfszI54++/PlyJCz0FBMxJTLizqEXMfBy?= =?us-ascii?Q?5ig4QjlQqZDTygqeBeHu+oc4OLMbUDsK4ERwLomSKoYvYB9azpo/qgHLyruZ?= =?us-ascii?Q?BbvEGv2iMf/G/HNM+pA6kunKlfn402+vAyPVhEtbRVN2W1y/lX/CPlI/g92y?= =?us-ascii?Q?j9wBGFn+2GwTwZJdm9a/oe/lv+MdmKSV3ewGe54/OIIWK4T5VmQRPjiBEwGj?= =?us-ascii?Q?/8SqFH1imHgjXH/IA6hkWvzAWBzRBcDsOIL5Gup73Yf5EIeEYpd1C5v1e4yd?= =?us-ascii?Q?qIijDeRm2Mj1uRUR3gJbjV71FSuXHXtraXqKMEKctK5jjW7bTsBPeIYEfrTt?= =?us-ascii?Q?3N85NvQc94THwT0lTU6T8q3xHgN07oCIO/2JhFxRDjCGl3QE25cPlA1niP2s?= =?us-ascii?Q?HglRrrmYS4C15FcG4FlRlpWNgy5nDDsvuVqFQ2QGKNpbBu+aLFW2CoiiLNUP?= =?us-ascii?Q?OYUw4Nw3iIT8qFhuwSEbS41oHWRN2xGZ1c3rL7XrznyOrJbENy1C4OYcDeLa?= =?us-ascii?Q?s9a3YKoiy52ZUBxbJh2zPqkrZKZM26OCetkRT0OScAQ38NIumkDSulcms1wv?= =?us-ascii?Q?2Wg99CW5GQX9BoHK3INW/3BUjCPmZ5DoUMRxMoUWHUpCNYAR8u5tvk+/58s1?= =?us-ascii?Q?B+uw3lx4c7kHOyxGg7ASG1CjhvKTCNAVLGE7ezOoeBgS0vN+khGROV7S0ceR?= =?us-ascii?Q?2ZP16vjiuzMB+1xgwzSoqYPAx2aNsRpLQhBq35EwNos9iGUDIh2NL1ZwZw27?= =?us-ascii?Q?TsQ4+2hwYIydc96vBaPJVIo8eOkLYI8ZkyprCWNMJqOLthqCgsTgozvzXzSd?= =?us-ascii?Q?ep+cU/7f4RzHQPQVIbr6xRBOBoKpeIewZR5p7Syv076EZvc8THQLH7WjqobE?= =?us-ascii?Q?QSorifQW1zpSeUGTKAbirS1lto9EnRwunzRXAZ5jWOOoLjNpQgEgnRb2iLRA?= =?us-ascii?Q?9MrHvzt/wTjvwrjfi8NgKppNbYROvgCqcnQvrxCHZe0Kmvd5hh4BwO7B5MBp?= =?us-ascii?Q?AVvSNEZ4MAQuQq7FIdud6CZ3SDRj8Ike9GRQJagW0uTBlf2unA+ohETb2aSG?= =?us-ascii?Q?Feu+sD8NxZoBZGfbLOL6Wj2W7xqaENR9otJZwll8BG8zaUYwnd9Kd67I9k9L?= =?us-ascii?Q?veOwkxzXbKXSkjEp4P5Sxdfb1REX+SkDv8CF6WGCm+af3UGuDYm1qaM1xDOD?= =?us-ascii?Q?lDH86wEz48ZYt049ZzCqZxW2NKLeRPbgO6MAUFPyWDeyVRJ6PNepnp6oeQpw?= =?us-ascii?Q?jmEEhzSz+SrntsUn7z2MWN6m/zc70c3f9f6h1dQmS4DvLMOPrq+i98NzGzu+?= =?us-ascii?Q?yqUtLyAOb3ttJZ18vLhw6lsOBguxK8hn9DWFI4WOFSKqwuvPjGagBQDeZ+G1?= =?us-ascii?Q?qw=3D=3D?= X-MS-Exchange-CrossTenant-Network-Message-Id: 4fa529ec-f30d-48d0-5fa1-08dcf507b805 X-MS-Exchange-CrossTenant-AuthSource: PH8PR11MB8107.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Oct 2024 15:14:28.2604 (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: zakw20X3VwbicLZ5nUnmY9Hby+rJolPNGAMRjQ78gK+eQv8uYuA1ARuUJXAWxmtxalHOSK4dNbtN07J5Ta8G7CA1ZKlbs+aDkUYWIBpGk50= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR11MB4526 X-OriginatorOrg: intel.com X-Rspam-User: X-Stat-Signature: wbwz99wdmaegufkseaip6g64cms6naj9 X-Rspamd-Queue-Id: 3018640018 X-Rspamd-Server: rspam11 X-HE-Tag: 1729869247-67288 X-HE-Meta: U2FsdGVkX19SkaP9hfeEtcgf4+kKY1vBqB2X9J3NCgTMY5nY8I8MQ1W0cPWrzuw2Y2KNpB9O+AzXeYo25SA76N9YNXDigu4WLncqICNjbELOyVIRMgbziIVbcNl4Og3+6eV9dVUdkuepzKlxV8ZYjuAkNa7t6zZ5KHhT85/NARVEsYxRACL+UYL183O9n3nZ2sn4Fw1m3JKZydV2uSL/v0LrcjIVEufzsmFWSuveVpiItJU4ZDVutblZp2SgRGxKu/CKF5/Vu56I/1Txvr2YOG1HfAeRInggh2j7Vl6ojb3ex3y+OxqT+OOaYI/NtzyP86BViLQwn2MFZt1/kgY4J3cTOkonzionLOeyoCAXCF6McYf8pQcUBQfMpNqCXg92gqBy7BbvbczqzDaovyntaYhneXFPbZ/jWF1P6Sv8Ynx6JxOIIKVMSIWq+zLxpY/EgWnZL/nmlIz8tXVgMiaYSOSU9d0rFiSRHSKZt+WWq3TiVszIaKLKX90/aH10gSnGk50+UuPEvvfC8IuCWWCK1Sc/Lko6KnKCplT+2iDv38+CV1alx31hxyHbKe6877c4yIMSi+M8Xpg32F6SXCErgFiNUxU9PhQEelr1qUMIVinXnKkxWxmyGLhjTE3cZQGLZNxQ2/k//jtmL78c16qAQvsaYFDJtg+RWQb658PSVHJ83WapxtpkDXyTR7MtfX1VjJ8f1SUHIl2YI6zDa5zHKkhQDU3Pk3n8EY4NPVPcS2gx0vW7yjuCQPbPcupqI7NEopJ+p6Jn697cRmQW0Fo5P/Hrn00m6WDqkvYfJZi3ozD9KheLTz40DwwcKyPGwI/60Dv5Ytht3PGIaVhIGH4vsk+/6dEJEug+46S2Opy+VXaQc1MnW0A12CgAQTor3iQaIND4jA+Z1qIGLOGrj2C4VnvWhF3L8Oqmw4XZOPC5umYVTVk9n3/3wV3oa83u6QtZcou/fuo6roy2dFPmBRm I64/68bt gJksNFdQnep6TftXoH0rR5hXrDKoJDHnFGx2qkiu2SC9b8SfxAobPRbV3ZBIWSgp0b+T44k0hJM23VcbfJhYRVgklewfUtyv3uUQzl3YuqAiUvfzj3yqxpVaWQfDtCPg5WfcNBMQpaWReJa1j762+3TKafJ4wZQwIUzAlMMh8HwLyNJ+AsvnNUj5i7FfPSEYJBzupWUIuJZSyJlcNAeyI2A5l5TyC8k4mh51G8R4hAv3lOHZwZ3Rkf5z9CODW3ciwpE2yl+/5EruVCvDTMedAc2uO2nKHIy46GEsVrVFRW3TmS2/fghrKvFMVE8AuaSKlU4PLSUmFA3r7a9AKFQrBMqw84fJ6TX8YXWCKmc92ltcyjxuzUbGno4sgfwRi5VxrK8TOlbOMcmJN5KQ= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000007, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: Andy Shevchenko wrote: [..] > > > but if you want to stick with your variant some improvements can be done: > > > > > > #define for_each_resource_XXX(_root, _p) \ > > > for (typeof(_root) __root = (_root), __p = _p = __root->child; \ > > > __p && _p; _p = next_resource_XXX(__root, _p)) > > > > > > > > > 1) no need to have local variable in parentheses; > > > 2) no need to have iterator in parentheses, otherwise it would be crazy code > > > that has put something really wrong there and still expect the thing to work. > > > > Why not: > > > > #define for_each_resource_XXX(_root, _p) \ > > for (typeof(_root) __root = (_root), __p = _p = __root->child; \ > > _p; _p = next_resource_XXX(__root, _p)) > > > > The __p is only to allow for _p to be initialized in the first statement > > without causing a new "_p" shadow to be declared. > > If people think this would be better than the existing patterns, okay. fine. I think this case is different than the existing patterns in that the iterator variable needs to be initiatlized from a declared variable, and as Ying said, my proposal is busted. To your point though, lets add a comment on why this macro is a bit different to avoid people like me making bad cleanup suggestions.