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

Reply via email to