public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: Ashish Singhal <ashishsingha@nvidia.com>
To: "Kinney, Michael D" <michael.d.kinney@intel.com>,
	"edk2-devel@lists.01.org" <edk2-devel@lists.01.org>,
	"Gao, Liming" <liming.gao@intel.com>,
	"Fu, Siyuan" <siyuan.fu@intel.com>,
	"Wu, Jiaxin" <jiaxin.wu@intel.com>
Subject: Re: [PATCH v3 0/2] Provide UEFILib functions for protocol uninstallation.
Date: Mon, 7 Jan 2019 22:50:49 +0000	[thread overview]
Message-ID: <BYAPR12MB27432F1322A2F17A175F4EE3BA890@BYAPR12MB2743.namprd12.prod.outlook.com> (raw)
In-Reply-To: <E92EE9817A31E24EB0585FDF735412F5B8B77B27@ORSMSX113.amr.corp.intel.com>

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


  reply	other threads:[~2019-01-07 22:50 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-01-07  4:37 [PATCH v3 0/2] Provide UEFILib functions for protocol uninstallation Ashish Singhal
2019-01-07  4:37 ` [PATCH v3 1/2] MdePkg/UefiLib: Abstract driver model " Ashish Singhal
2019-01-07  4:37 ` [PATCH v3 2/2] NetworkPkg/IScsiDxe: Use UEFILib APIs to uninstall protocols Ashish Singhal
2019-01-07 14:01 ` [PATCH v3 0/2] Provide UEFILib functions for protocol uninstallation Ashish Singhal
2019-01-07 22:22   ` Kinney, Michael D
2019-01-07 22:50     ` Ashish Singhal [this message]
2019-01-08 16:25       ` Kinney, Michael D
2019-01-08 17:24         ` Ashish Singhal
2019-01-09  2:57           ` Kinney, Michael D
2019-01-09  3:02             ` Ashish Singhal
2019-02-04 20:18               ` Ashish Singhal

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=BYAPR12MB27432F1322A2F17A175F4EE3BA890@BYAPR12MB2743.namprd12.prod.outlook.com \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox