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:ashishsin...@nvidia.com] > Sent: Monday, January 7, 2019 6:02 AM > To: edk2-devel@lists.01.org; Kinney, Michael D > <michael.d.kin...@intel.com>; Gao, Liming > <liming....@intel.com>; Fu, Siyuan > <siyuan...@intel.com>; Wu, Jiaxin <jiaxin...@intel.com> > Subject: RE: [PATCH v3 0/2] Provide UEFILib functions > for protocol uninstallation. > > + Maintainers > > -----Original Message----- > From: Ashish Singhal <ashishsin...@nvidia.com> > Sent: Sunday, January 6, 2019 9:38 PM > To: edk2-devel@lists.01.org > Cc: Ashish Singhal <ashishsin...@nvidia.com> > 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 edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel