From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=134.134.136.65; helo=mga03.intel.com; envelope-from=michael.d.kinney@intel.com; receiver=edk2-devel@lists.01.org Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 1FC28211B5063 for ; Tue, 8 Jan 2019 18:57:44 -0800 (PST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga103.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 08 Jan 2019 18:57:44 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.56,455,1539673200"; d="scan'208";a="132874982" Received: from orsmsx105.amr.corp.intel.com ([10.22.225.132]) by fmsmga002.fm.intel.com with ESMTP; 08 Jan 2019 18:57:44 -0800 Received: from orsmsx111.amr.corp.intel.com (10.22.240.12) by ORSMSX105.amr.corp.intel.com (10.22.225.132) with Microsoft SMTP Server (TLS) id 14.3.408.0; Tue, 8 Jan 2019 18:57:43 -0800 Received: from orsmsx113.amr.corp.intel.com ([169.254.9.240]) by ORSMSX111.amr.corp.intel.com ([169.254.12.145]) with mapi id 14.03.0415.000; Tue, 8 Jan 2019 18:57:43 -0800 From: "Kinney, Michael D" To: Ashish Singhal , "edk2-devel@lists.01.org" , "Gao, Liming" , "Fu, Siyuan" , "Wu, Jiaxin" , "Kinney, Michael D" Thread-Topic: [PATCH v3 0/2] Provide UEFILib functions for protocol uninstallation. Thread-Index: AQHUppGUVTO7/QBsjU+rYXlkwJr30KWkYLmggACPHoCAAJ+1oIAAl2MAgAAYDiA= Date: Wed, 9 Jan 2019 02:57:42 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.0.400.15 dlp-reaction: no-action x-originating-ip: [10.22.254.140] MIME-Version: 1.0 Subject: Re: [PATCH v3 0/2] Provide UEFILib functions for protocol uninstallation. X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Jan 2019 02:57:45 -0000 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Ashish, When I do full platform builds and individual driver builds, the result is always a little bigger with the V3 version of the patch. DEBUG DEBUG+Patch Delta RELEASE RELEASE+Pat= ch Delta ***** *********** ***** ******* ***********= ** ***** Quark IA32 FVMAIN 2337360 2339408 2048 1181168 11= 82992 1824 Quark IA32 FVMAIN_COMPACT 814664 815272 608 516208 5= 16904 696 DiskIoDxe.efi 18752 18880 128 5824 = 5952 128 DiskIoDxe.ROM 10240 10240 0 3419 = 3569 150 OVMF X64 DXEFV 4447368 4456968 9600 2956808 29= 66312 9504 OVMF X64 FVMAIN_COMPACT 1164264 1164784 520 912528 9= 13048 520 I recommend the install APIs remain unchanged, and the uninstall APIs use the same logic as the install APIs. Best regards, Mike > -----Original Message----- > From: Ashish Singhal [mailto:ashishsingha@nvidia.com] > Sent: Tuesday, January 8, 2019 9:24 AM > To: Kinney, Michael D ; > edk2-devel@lists.01.org; Gao, Liming > ; Fu, Siyuan > ; Wu, Jiaxin > Subject: RE: [PATCH v3 0/2] Provide UEFILib functions > for protocol uninstallation. >=20 > Thanks Mike. Please let me know if you have any more > questions and/or comments. >=20 > Thanks > Ashish >=20 > -----Original Message----- > From: Kinney, Michael D > Sent: Tuesday, January 8, 2019 9:26 AM > To: Ashish Singhal ; edk2- > devel@lists.01.org; Gao, Liming ; > Fu, Siyuan ; Wu, Jiaxin > ; Kinney, Michael D > > Subject: RE: [PATCH v3 0/2] Provide UEFILib functions > for protocol uninstallation. >=20 > Ashish, >=20 > Good point. I was looking at the code size of a single > uncompressed UEFI Driver (DiskIoDxe). I suspect that > the patch provides a more consistent pattern across all > drivers that use these UefiLib APIs, and then provides > better compression on an FV that contains many UEFI > Drivers. >=20 > I also suspect there may be a small size increase for > the single compressed UEFI Driver use case for PCI > Option ROMs. >=20 > I will run a few more experiments this morning. >=20 > Thanks, >=20 > Mike >=20 > > -----Original Message----- > > From: Ashish Singhal [mailto:ashishsingha@nvidia.com] > > Sent: Monday, January 7, 2019 2:51 PM > > To: Kinney, Michael D ; > > edk2-devel@lists.01.org; Gao, Liming > ; Fu, > > Siyuan ; Wu, Jiaxin > > > Subject: RE: [PATCH v3 0/2] Provide UEFILib functions > for protocol > > uninstallation. > > > > Hi Mike, > > > > I build both DEBUG and RELEASE variant of the library > and they both > > built a few KB less in size compared to what is in > tip right now. Can > > you please help me with the optimization settings you > have enabled so > > that I can try the same at my end? Also, if you want, > we can look at > > the optimization part going forward and fix the issue > first by pushing > > in PATCH v2 1/4 and PATCH v2 2/4 which just adds > uninstallation APIs > > keeping the same code structure as for install. > > > > Thanks > > Ashish > > > > -----Original Message----- > > From: Kinney, Michael D > > Sent: Monday, January 7, 2019 3:23 PM > > To: Ashish Singhal ; edk2- > > devel@lists.01.org; Gao, Liming > ; Fu, Siyuan > > ; Wu, Jiaxin > ; Kinney, > > Michael D > > Subject: RE: [PATCH v3 0/2] Provide UEFILib functions > for protocol > > uninstallation. > > > > Hi Ashish, > > > > My main concern with this patch is that the generated > code for > > optimized RELEASE builds is not as small. > > > > From a source maintenance perspective, the patch you > have provided is > > easier to maintain. However, the implementation of > the APIs that > > install protocols was done to make sure the optimizer > produces the > > smallest number of instructions to install the > protocols. > > > > I would prefer the APIs that install protocols remain > unchanged, and > > that only the new APIs to uninstall the protocols be > added. The same > > approach could be taken in the implementation to > produce the exact > > right form of the uninstall action that is guaranteed > to succeed if > > the uninstall API matches the API that was used to > install. > > > > Thanks, > > > > Mike > > > > > -----Original Message----- > > > From: Ashish Singhal > [mailto:ashishsingha@nvidia.com] > > > Sent: Monday, January 7, 2019 6:02 AM > > > To: edk2-devel@lists.01.org; Kinney, Michael D > > > ; Gao, Liming > > ; Fu, > > > Siyuan ; Wu, Jiaxin > > > > > Subject: RE: [PATCH v3 0/2] Provide UEFILib > functions > > for protocol > > > uninstallation. > > > > > > + Maintainers > > > > > > -----Original Message----- > > > From: Ashish Singhal > > > Sent: Sunday, January 6, 2019 9:38 PM > > > To: edk2-devel@lists.01.org > > > Cc: Ashish Singhal > > > Subject: [PATCH v3 0/2] Provide UEFILib functions > for > > protocol > > > uninstallation. > > > > > > An issue was seen in IScsiDxe in NetworkPkg where > > driver cleanup after > > > initialization failure was not done right. Bug 1428 > > was filed in this > > > regard. > > > As per discussions with Mike, it was also discussed > > that having > > > UEFILib provide protocol uninstallation abstraction > > would help to > > > avoid these issues in the future. Bug 1429 was > found > > to track this. > > > The first 2 patches take care of this. > > > > > > Patch number 1 also simplifies the UEFILib protocol > > installation and > > > uninstallation abstraction by adding a helper > > function doing > > > operations instead of every public function. > > > > > > Ashish Singhal (2): > > > MdePkg/UefiLib: Abstract driver model protocol > > uninstallation > > > NetworkPkg/IScsiDxe: Use UEFILib APIs to > uninstall > > protocols. > > > > > > MdePkg/Include/Library/UefiLib.h | 103 > +++ > > > MdePkg/Library/UefiLib/UefiDriverModel.c | 1186 > > > ++++++++---------------------- > > > NetworkPkg/IScsiDxe/IScsiDriver.c | 31 +- > > > 3 files changed, 435 insertions(+), 885 > deletions(-) > > > > > > -- > > > 2.7.4 > > > > > > --------------------------------------------------- > -- > > -- > > > ---------------------------- > > > This email message is for the sole use of the > > intended > > > recipient(s) and may contain > > > confidential information. Any unauthorized review, > > use, disclosure or > > > distribution is prohibited. If you are not the > > intended recipient, > > > please contact the sender by reply email and > destroy > > all copies of the > > > original message. > > > --------------------------------------------------- > -- > > -- > > > ----------------------------