Ashish, 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.
I also suspect there may be a small size increase for the single compressed UEFI Driver use case for PCI Option ROMs. I will run a few more experiments this morning. Thanks, Mike > -----Original Message----- > From: Ashish Singhal [mailto:[email protected]] > Sent: Monday, January 7, 2019 2:51 PM > To: Kinney, Michael D <[email protected]>; > [email protected]; Gao, Liming > <[email protected]>; Fu, Siyuan > <[email protected]>; Wu, Jiaxin <[email protected]> > 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 <[email protected]> > Sent: Monday, January 7, 2019 3:23 PM > To: Ashish Singhal <[email protected]>; edk2- > [email protected]; Gao, Liming <[email protected]>; > Fu, Siyuan <[email protected]>; Wu, Jiaxin > <[email protected]>; Kinney, Michael D > <[email protected]> > 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:[email protected]] > > Sent: Monday, January 7, 2019 6:02 AM > > To: [email protected]; Kinney, Michael D > > <[email protected]>; Gao, Liming > <[email protected]>; Fu, > > Siyuan <[email protected]>; Wu, Jiaxin > <[email protected]> > > Subject: RE: [PATCH v3 0/2] Provide UEFILib functions > for protocol > > uninstallation. > > > > + Maintainers > > > > -----Original Message----- > > From: Ashish Singhal <[email protected]> > > Sent: Sunday, January 6, 2019 9:38 PM > > To: [email protected] > > Cc: Ashish Singhal <[email protected]> > > 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. > > ----------------------------------------------------- > -- > > ---------------------------- _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

