From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by mx.groups.io with SMTP id smtpd.web12.3241.1660118086038427305 for ; Wed, 10 Aug 2022 00:54:46 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=W/fMAGgh; spf=pass (domain: intel.com, ip: 134.134.136.31, mailfrom: ray.ni@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1660118086; x=1691654086; h=from:to:subject:date:message-id:references:in-reply-to: content-transfer-encoding:mime-version; bh=qZyIboE9aWzoe2yEAOB1V3zs3aPQf/U7PzQsl+PocLI=; b=W/fMAGgh7gs5SrPEuq8amaXyuL9zWLNba8aPIrLdFv5dO9RkvJ+G7urg j10fT7OHXptiSn8KuEBARbYSTR3JBO61AV1ygFgKm0q79at0c/f1/t4PY PjmFjJnSrLmU+DXfg0nIi7iK+QFT+9ICEHhMOoXT2KDcNXu3lZ92wb3D4 Pj0HeiadEpx2if79FI+b9imty+BBsC/ma2Kb0bhcJi9Ux4aYMPR2MwroV XLZ+Qxr4CLaWJ+Jlp5KzMzULpyF7wwu0kNZ1Qag42nbtD+vfB42E1Cj/U Zw3ryCUmOOBSc2sFpol74WyotDDBGnI6zO2NMrnazHK4lik+A3EHCRLEs Q==; X-IronPort-AV: E=McAfee;i="6400,9594,10434"; a="352756916" X-IronPort-AV: E=Sophos;i="5.93,226,1654585200"; d="scan'208";a="352756916" Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Aug 2022 00:54:45 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.93,226,1654585200"; d="scan'208";a="605056714" Received: from orsmsx602.amr.corp.intel.com ([10.22.229.15]) by orsmga002.jf.intel.com with ESMTP; 10 Aug 2022 00:54:45 -0700 Received: from orsmsx608.amr.corp.intel.com (10.22.229.21) by ORSMSX602.amr.corp.intel.com (10.22.229.15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.28; Wed, 10 Aug 2022 00:54:44 -0700 Received: from orsmsx607.amr.corp.intel.com (10.22.229.20) by ORSMSX608.amr.corp.intel.com (10.22.229.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.28; Wed, 10 Aug 2022 00:54:44 -0700 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx607.amr.corp.intel.com (10.22.229.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.28 via Frontend Transport; Wed, 10 Aug 2022 00:54:44 -0700 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.168) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2375.28; Wed, 10 Aug 2022 00:54:44 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Cbpd1R+P7HBBBfdxhocaP3UioVcjDPkSPzilE6SEFT3x+aTazD3MJe09WUsEq7C4QDKNYt8pM88TI40DO9WYcCFTp0uJxG+ifNVbbu/b9CTiLUU3KxqXW/3VXXUnaOwM0I8d83XPRoIviXDBd8Qvh1lOf/TT1csWb+V1VtqdfEtllVwtrP0ryVF6wBgnZlZhSb5WhoZLxSJdPnGa50Oei0eu4fM0eMG45XwF2V+fd72/WnffDLDZ1JY41qrLqNL6rTOBCRFXS7pHGCO/Ih3CIm4ksJGmcPWT5Kc1bS2EwZjVU3inJoTUtYm5CQr175pAG7gu8BD2C/rT64fT7PcTjQ== 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=0QDbEbxZsszy6d3eDmnEGUkcVp37z9lF0S8mh77+KqY=; b=ALzFfiu98tVluyDO5neUvH8zs9KK+vJadmcHp1gpiAeuzEp8YcF86J6rm65U315vJKTBQ1lbo4g6nPK4aQpgWzUO6FCRYE29hX1Xvo4j7zjjZ90Q4m0mr1vnRHvEW3HrrB/M38FDwErtK5nXFWxMlnM57iwO/cW+6UWyAppVrREJzOfaTiDUY5N5BOwPYUpjIkMLDZlPusX02pbnjjUi87c/NN+FQ21BDTnHghC32zu6+NZ+xHiZphmr0fxFv8X6otbHf/8E46xD8lxYQm6hDOgtQzAIBBbYFlkQN47MC4VxbgvHEusqXC+MPWIOvGtwCGSHhzKY/uKwVJO73XJxcw== 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 MWHPR11MB1631.namprd11.prod.outlook.com (2603:10b6:301:10::10) by DM6PR11MB2764.namprd11.prod.outlook.com (2603:10b6:5:bf::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5504.16; Wed, 10 Aug 2022 07:54:42 +0000 Received: from MWHPR11MB1631.namprd11.prod.outlook.com ([fe80::991b:97a0:7836:5174]) by MWHPR11MB1631.namprd11.prod.outlook.com ([fe80::991b:97a0:7836:5174%10]) with mapi id 15.20.5504.020; Wed, 10 Aug 2022 07:54:42 +0000 From: "Ni, Ray" To: "devel@edk2.groups.io" , "Nong, Foster" Subject: Re: [edk2-devel] [PATCH 1/1] MdeModulePkg: Enhance bus scan for all root bridge instances Thread-Topic: [edk2-devel] [PATCH 1/1] MdeModulePkg: Enhance bus scan for all root bridge instances Thread-Index: AQHYnhuj4LWWLO9B4UuUxj6+DpTKka2n4C1Q Date: Wed, 10 Aug 2022 07:54:42 +0000 Message-ID: References: <20220722091026.47-1-foster.nong@intel.com> In-Reply-To: <20220722091026.47-1-foster.nong@intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: f3fa988a-313a-4e31-0f9a-08da7aa59575 x-ms-traffictypediagnostic: DM6PR11MB2764:EE_ x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 964cjN5rswNTn76Mmn3tjJ/4vO+sGmZew/MOigkPgHfpDKBmsc2O6ft/I0MmFLNF8pbXVDqTYQPUl22NZ+PJd+a+UVfbqX2ynETn/Qhjfz2a7g+asFMwHyfqD5zjqraPw/jZTYCcVtY3I3k8YKSOj3v+WbjSY9uZhmxroxSLFXdeNeklW1N7PVK4xLXfNtgccYN8Hpq8UsPxz55jtW2Io5/iaOYyzzOCmJf0sTvlveh/4lDE31TkjdbUTMIMlIFtN5GHg5+pymDJHq3syjbCWyyirhkfgQ99OjWIKXvZlpNvM15BV4DT1yqOs7TRfROXtsyddKgZhGCuOVGzobbPN8g92iIok8Nv1Gz6Wo3eRoGD71luHJqrL0EH76u0zypR9u8Bm822Zzs6qmUteWw+JG0ysUMeoo7GI7n/BzudZDGGWX0SzSqNW2fmw3GhN8jQU6XwSeR2voDoikII7zRrN6eWcNKBuiGZ5ZSRmkYDxIFmULq6QRYRGfA63svBE0Nd7x53CCwtlAqrpxYunrBeYal9c/te1ADsfmQpl473X6n0LACLXrLmgcfrinUf66kdREP/ogpEBU5EI2CuKxCPIKSOH/PY5vMqj6cwg8b8+D4E/Q5TAN/5jUPBlJfG/qJ2Git3+ehvrhrlwxkuvPhlfyVn9Mehcylno7+5xkmTTpB3S05vHcOgnRqDoylEb+v/oAshijU9T1alPnjsrGKUS7HfwdSeayQ+oQ7Z1cFC9u4T2GptU8rEMit5gvntsBfm/UvAGsfoTQ1lsMPrC8RBR6aouyv9jIHBEF7GwaBnJWmBp7n4iORH13GB55rCudiTYqv1W1ye+zZ7ysgaXuph9UK2ZHSexjIXnhpozDvsy0tGvp9Aj8V2k0E2CFbbuZCq x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MWHPR11MB1631.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(39860400002)(396003)(376002)(366004)(346002)(136003)(33656002)(76116006)(66556008)(66946007)(66476007)(64756008)(8676002)(2906002)(66446008)(71200400001)(966005)(55016003)(110136005)(52536014)(478600001)(316002)(9686003)(122000001)(38070700005)(6636002)(38100700002)(41300700001)(53546011)(5660300002)(26005)(6506007)(7696005)(86362001)(8936002)(186003)(83380400001)(82960400001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?VZpx/ebUXYVBH3oj1pWdrpcjhWDlRST+FYlstLK4oNu86sMRObwdbJOnPMay?= =?us-ascii?Q?zDw1+KwNOj43xofClHOY6aV+W2R8jrgx4Usc1x4iz+vkkZ2SS6nVWYZQJy83?= =?us-ascii?Q?OYXXnVFY/9Pj1p+3xZk/pOqWq856XmNx0m+9/y+/RQLjJqSGqJW2IkpUYZUp?= =?us-ascii?Q?5JiP91hBLTphsYS+ht3duqa16BYl7lYSZTOckTS6g3faJvvo4wQGmxuBqQeU?= =?us-ascii?Q?9I0F8ENXRRux62Ck0OiMztWzuh1Zml5kNlg+WZMsKH4x2D7fCB1Boon+vFgD?= =?us-ascii?Q?KTSjla2JHC2uwVQnkoI6Qmd2Ap8QvH414u8vvPJBaUPE/Tl6MI12zq42C7l3?= =?us-ascii?Q?cuAPzlAWcmOJXIno6+ji+NBDHtFYPgEwiZrz0P3c/i9iFkM9KSHExF0p6eN8?= =?us-ascii?Q?Nbh6tc06zk8TDkOb1z7Qc5aOcfcyxmRqwhDp87ay6grBhdFQezAm0MElbwks?= =?us-ascii?Q?Ps3Yri9xk5G1QUsBABz4bW6dCxsNWvLSaIapC4SVnKEtrptQew57GBG/eirH?= =?us-ascii?Q?cIroMJ3ORjZTouh6FkFKScMmbBijgQw4J5tmiO99wlXZ69Xgq72i+CrZ9hlj?= =?us-ascii?Q?cLZhlYqPrFrEXzGqq5xpJWWe6EYH7TDOepb0pPh1IRKHZ60uFvsxVcCstvl1?= =?us-ascii?Q?F9Ypt3VIcJijIxsz6/31ePniMLPz/vWyRpo8YavMRLO6MjbqON7Lz9dP6edS?= =?us-ascii?Q?JpXzbMPszxic+X04ApeDdXM1ARlLoDpgyXYJNgFZ1lrpHWoZ/dDGlDRiO3OA?= =?us-ascii?Q?YNT0OBdaauKXUzQWszGr12c9d0MKwIXHCJeBvyv//dabpl9L1yj6uP3cuYkQ?= =?us-ascii?Q?objxfloVgd/hMHUIQDw2rznr/hAT/+JBC6P43JhF5XPlpO0fMZM+wuic05si?= =?us-ascii?Q?Xhf8rbfOyQc/xdLORx9NsAmasuUSptJbRKDc6jVguq8EL99FNyHQkm1O3BW5?= =?us-ascii?Q?KxVFVNah0khBbNvXfv/TK8DNrwY7MSZgBsjbADbjdLevoXSFtc18lpobmY2+?= =?us-ascii?Q?jh294c6nBNTglzPJBRO8Y14n5KAK6chKqjjiJkYDL5hqlxDHOXdc2+V6GMcl?= =?us-ascii?Q?LNVf5+kNYQlJEw9qQobMAyf3foO00H0nTpsXSWbGX2xyEv5JyO+NpLxTDRsR?= =?us-ascii?Q?cLEp5zZ/lIE0jK7o3TTl5qhJHfuDXjSrjY1p5MIkns/tXzDl2T5DiTQD0TXU?= =?us-ascii?Q?z99bTLHlEARRlc3+XC7466I1u7GlSYaWGQdXPuWgPTccgxMJoRdudm8gfvpR?= =?us-ascii?Q?EWHYpbfqV6ELK2Mbazncbp7ItRir8n/k3gkJq+0dg2E+ZjK2l2dkM18NW9IV?= =?us-ascii?Q?ejwadwJOobSwB28NV5vvyOTzI0UxuDzRRCoiOc6IswTy8ILZPOgwwdP6nTqq?= =?us-ascii?Q?VJwZ8ap3L7HQJ2XDx6ZcLCgqF65uJBmarRvCCMyPrAL0C/5gZEEXlfEei+y6?= =?us-ascii?Q?LcTwCgKe5fVoOvpKhmnZx1ZaM09UGMMs44atAkziy9ZlAHYRQ1RbL8XyFIMA?= =?us-ascii?Q?krBRaKcS8RNukED0MAESNfokGD/CzinRlUVlftW0ClvZ5rlWz+EmbsYPh4UE?= =?us-ascii?Q?8jTKkzo98vkXR5+CCqOnuLRCdTA32NMja9xhZpSc?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MWHPR11MB1631.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: f3fa988a-313a-4e31-0f9a-08da7aa59575 X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Aug 2022 07:54:42.1703 (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: UkJJSSz3oa4ueqyDCOsqzYQxmzSv/vx94M8bHTbm/TDgD0wBZX7qlkdwQ1e4qZnaEztdLd2myyNeQ3oK3lgvOQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR11MB2764 Return-Path: ray.ni@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Reviewed-by: Ray Ni > -----Original Message----- > From: devel@edk2.groups.io On Behalf Of Foster > Nong > Sent: Friday, July 22, 2022 5:10 PM > To: devel@edk2.groups.io > Cc: Nong, Foster > Subject: [edk2-devel] [PATCH 1/1] MdeModulePkg: Enhance bus scan for all > root bridge instances >=20 > Ref:https://bugzilla.tianocore.org/show_bug.cgi?id=3D4000 >=20 > Change flow to bus scan all root bridge instances even when any > one root bridge meet bus resource OUT_OF_RESOURCE case. > thus platform handler of "EfiPciHostBridgeEndBusAllocation" has > an chance to do relative pci bus rebalance to handle this case. >=20 > Signed-off-by: Foster Nong > --- > MdeModulePkg/Bus/Pci/PciBusDxe/PciLib.c | 14 ++++++++++++-- > 1 file changed, 12 insertions(+), 2 deletions(-) >=20 > diff --git a/MdeModulePkg/Bus/Pci/PciBusDxe/PciLib.c > b/MdeModulePkg/Bus/Pci/PciBusDxe/PciLib.c > index 63d149b3b8c0..a89f912de85b 100644 > --- a/MdeModulePkg/Bus/Pci/PciBusDxe/PciLib.c > +++ b/MdeModulePkg/Bus/Pci/PciBusDxe/PciLib.c > @@ -1528,6 +1528,7 @@ PciHostBridgeEnumerator ( > UINT8 StartBusNumber; > LIST_ENTRY RootBridgeList; > LIST_ENTRY *Link; > + EFI_STATUS RootBridgeEnumerationStatus; >=20 > if (FeaturePcdGet (PcdPciBusHotplugDeviceSupport)) { > InitializeHotPlugSupport (); > @@ -1546,6 +1547,7 @@ PciHostBridgeEnumerator ( >=20 > DEBUG ((DEBUG_INFO, "PCI Bus First Scanning\n")); > RootBridgeHandle =3D NULL; > + RootBridgeEnumerationStatus =3D EFI_SUCCESS; > while (PciResAlloc->GetNextRootBridge (PciResAlloc, &RootBridgeHandle) > =3D=3D EFI_SUCCESS) { > // > // if a root bridge instance is found, create root bridge device for= it > @@ -1572,7 +1574,7 @@ PciHostBridgeEnumerator ( > } >=20 > if (EFI_ERROR (Status)) { > - return Status; > + RootBridgeEnumerationStatus =3D Status; > } > } >=20 > @@ -1581,6 +1583,10 @@ PciHostBridgeEnumerator ( > // > NotifyPhase (PciResAlloc, EfiPciHostBridgeEndBusAllocation); >=20 > + if (EFI_ERROR (RootBridgeEnumerationStatus)) { > + return RootBridgeEnumerationStatus; > + } > + > if ((gPciHotPlugInit !=3D NULL) && FeaturePcdGet > (PcdPciBusHotplugDeviceSupport)) { > // > // Reset all assigned PCI bus number in all PPB > @@ -1659,7 +1665,7 @@ PciHostBridgeEnumerator ( >=20 > DestroyRootBridge (RootBridgeDev); > if (EFI_ERROR (Status)) { > - return Status; > + RootBridgeEnumerationStatus =3D Status; > } > } >=20 > @@ -1667,6 +1673,10 @@ PciHostBridgeEnumerator ( > // Notify the bus allocation phase is to end for the 2nd time > // > NotifyPhase (PciResAlloc, EfiPciHostBridgeEndBusAllocation); > + > + if (EFI_ERROR (RootBridgeEnumerationStatus)) { > + return RootBridgeEnumerationStatus; > + } > } >=20 > // > -- > 2.26.2.windows.1 >=20 >=20 >=20 >=20 >=20