public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "GregX Yeh" <gregx.yeh@intel.com>
To: "Bi, Dandan" <dandan.bi@intel.com>,
	"devel@edk2.groups.io" <devel@edk2.groups.io>
Cc: "Wang, Jian J" <jian.j.wang@intel.com>,
	"Wu, Hao A" <hao.a.wu@intel.com>,
	Liming Gao <gaoliming@byosoft.com.cn>
Subject: Re: [PATCH] MdeModulePkg PCD: FSP NotifyPhase APIs caused 100ms delay
Date: Thu, 12 Aug 2021 07:06:28 +0000	[thread overview]
Message-ID: <BYAPR11MB33683E7A8058D61C51D8A1BDFAF99@BYAPR11MB3368.namprd11.prod.outlook.com> (raw)
In-Reply-To: <DM4PR11MB545376270E602D7CC586B787EAF99@DM4PR11MB5453.namprd11.prod.outlook.com>

Hi Dandan,

So I need create new patch file with new subject then send-email again?

Thanks,
Greg

-----Original Message-----
From: Bi, Dandan <dandan.bi@intel.com> 
Sent: Thursday, August 12, 2021 11:47 AM
To: Yeh, GregX <gregx.yeh@intel.com>; devel@edk2.groups.io
Cc: Wang, Jian J <jian.j.wang@intel.com>; Wu, Hao A <hao.a.wu@intel.com>; Liming Gao <gaoliming@byosoft.com.cn>
Subject: RE: [PATCH] MdeModulePkg PCD: FSP NotifyPhase APIs caused 100ms delay

Hi Greg,

One minor comment, could we update the subject to reflect what have done in this patch for PCD module before submitting the patch? 
With that addressed Reviewed-by: Dandan Bi <dandan.bi@intel.com>



Thanks,
Dandan

> -----Original Message-----
> From: Yeh, GregX <gregx.yeh@intel.com>
> Sent: Monday, August 9, 2021 10:28 AM
> To: devel@edk2.groups.io
> Cc: Wang, Jian J <jian.j.wang@intel.com>; Wu, Hao A 
> <hao.a.wu@intel.com>; Bi, Dandan <dandan.bi@intel.com>; Liming Gao 
> <gaoliming@byosoft.com.cn>
> Subject: [PATCH] MdeModulePkg PCD: FSP NotifyPhase APIs caused 100ms 
> delay
> 
> https://bugzilla.tianocore.org/show_bug.cgi?id=3525
> 
> After PciSegmentLib using Dynamic PCD for Pcie base address such long 
> delay found in FSP. The root cause is some of the PCD service PPIs not 
> shadowed to memory and flash cache may have been disabled in NotifyPhase stage.
> Solution is to shadow all PCD service PPIs to memory.
> 
> Signed-off-by: GregX Yeh <gregx.yeh@intel.com>
> Cc: Jian J Wang <jian.j.wang@intel.com>
> Cc: Hao A Wu <hao.a.wu@intel.com>
> Cc: Dandan Bi <dandan.bi@intel.com>
> Cc: Liming Gao <gaoliming@byosoft.com.cn>
> ---
>  MdeModulePkg/Universal/PCD/Pei/Pcd.c | 71
> +++++++++++++++++++++++++++-
>  1 file changed, 70 insertions(+), 1 deletion(-)
> 
> diff --git a/MdeModulePkg/Universal/PCD/Pei/Pcd.c
> b/MdeModulePkg/Universal/PCD/Pei/Pcd.c
> index 9c6346924f..f31e0be35f 100644
> --- a/MdeModulePkg/Universal/PCD/Pei/Pcd.c
> +++ b/MdeModulePkg/Universal/PCD/Pei/Pcd.c
> @@ -1,7 +1,7 @@
>  /** @file   All Pcd Ppi services are implemented here. -Copyright (c) 2006 -
> 2018, Intel Corporation. All rights reserved.<BR>+Copyright (c) 2006 - 
> 2021, Intel Corporation. All rights reserved.<BR> (C) Copyright 2016 
> Hewlett Packard Enterprise Development LP<BR> SPDX-License-Identifier: 
> BSD-2- Clause-Patent @@ -339,6 +339,75 @@ PcdPeimInit (
>  {   EFI_STATUS Status; +  Status = PeiServicesRegisterForShadow
> (FileHandle);+  if (Status == EFI_ALREADY_STARTED) {+    //+    // This is now
> starting in memory, the second time starting.+    //+
> EFI_PEI_PPI_DESCRIPTOR *OldPpiList;+    EFI_PEI_PPI_DESCRIPTOR
> *OldPpiList2;+    VOID *Ppi;+    VOID *Ppi2;++    OldPpiList = NULL;+    Status =
> PeiServicesLocatePpi (+               &gPcdPpiGuid,+               0,+
> &OldPpiList,+               &Ppi+               );+    ASSERT_EFI_ERROR (Status);++    if
> (OldPpiList != NULL) {+      Status = PeiServicesReInstallPpi (OldPpiList,
> &mPpiList[0]);+      ASSERT_EFI_ERROR (Status);+    }++    OldPpiList2 = NULL;+
> Status = PeiServicesLocatePpi (+               &gGetPcdInfoPpiGuid,+               0,+
> &OldPpiList2,+               &Ppi2+               );+    ASSERT_EFI_ERROR (Status);++    if
> (OldPpiList2 != NULL) {+      Status = PeiServicesReInstallPpi (OldPpiList2,
> &mPpiList2[0]);+      ASSERT_EFI_ERROR (Status);+    }++    OldPpiList = NULL;+
> Status = PeiServicesLocatePpi (+               &gEfiPeiPcdPpiGuid,+               0,+
> &OldPpiList,+               &Ppi+               );+    ASSERT_EFI_ERROR (Status);++    if
> (OldPpiList != NULL) {+      Status = PeiServicesReInstallPpi (OldPpiList,
> &mPpiList[1]);+      ASSERT_EFI_ERROR (Status);+    }++    OldPpiList2 = NULL;+
> Status = PeiServicesLocatePpi (+               &gEfiGetPcdInfoPpiGuid,+               0,+
> &OldPpiList2,+               &Ppi2+               );+    ASSERT_EFI_ERROR (Status);++    if
> (OldPpiList2 != NULL) {+      Status = PeiServicesReInstallPpi (OldPpiList2,
> &mPpiList2[1]);+      ASSERT_EFI_ERROR (Status);+    }++    return Status;+  }+
> BuildPcdDatabase (FileHandle);    //--
> 2.32.0.windows.1


  reply	other threads:[~2021-08-12  7:06 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-09  2:27 [PATCH] MdeModulePkg PCD: FSP NotifyPhase APIs caused 100ms delay GregX Yeh
2021-08-11  6:45 ` Wang, Jian J
2021-08-12  3:47 ` Dandan Bi
2021-08-12  7:06   ` GregX Yeh [this message]
2021-08-12  7:11     ` Dandan Bi

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=BYAPR11MB33683E7A8058D61C51D8A1BDFAF99@BYAPR11MB3368.namprd11.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