[edk2] [PATCH v4 0/3] Remove TimerLib dependency from DP

Michael Kinney posted 3 patches 7 years, 2 months ago
Failed in applying to current master (apply log)
MdeModulePkg/Include/Guid/Performance.h            | 12 +++++++-
.../DxeCorePerformanceLib/DxeCorePerformanceLib.c  | 23 ++++++++++++--
.../DxeCorePerformanceLib.inf                      |  2 ++
.../DxeCorePerformanceLibInternal.h                |  3 +-
.../SmmCorePerformanceLib/SmmCorePerformanceLib.c  | 18 +++++++++++
.../SmmCorePerformanceLib.inf                      |  5 +++-
PerformancePkg/Dp_App/Dp.c                         | 35 +++++++++++-----------
PerformancePkg/Dp_App/Dp.inf                       |  6 ++--
PerformancePkg/Dp_App/DpInternal.h                 |  6 ++--
PerformancePkg/Dp_App/DpProfile.c                  |  3 +-
PerformancePkg/Dp_App/DpStrings.uni                | 10 ++++---
PerformancePkg/Dp_App/DpTrace.c                    | 25 ++--------------
PerformancePkg/Dp_App/DpUtilities.c                |  3 +-
PerformancePkg/Dp_App/Literals.c                   |  3 +-
ShellPkg/Library/UefiDpLib/Dp.c                    | 29 +++++++-----------
ShellPkg/Library/UefiDpLib/DpInternal.h            |  6 ++--
ShellPkg/Library/UefiDpLib/DpProfile.c             |  3 +-
ShellPkg/Library/UefiDpLib/DpTrace.c               | 25 ++--------------
ShellPkg/Library/UefiDpLib/DpUtilities.c           |  3 +-
ShellPkg/Library/UefiDpLib/Literals.c              |  3 +-
ShellPkg/Library/UefiDpLib/UefiDpLib.inf           |  6 ++--
ShellPkg/Library/UefiDpLib/UefiDpLib.uni           |  3 +-
ShellPkg/ShellPkg.dsc                              |  3 +-
23 files changed, 117 insertions(+), 118 deletions(-)
[edk2] [PATCH v4 0/3] Remove TimerLib dependency from DP
Posted by Michael Kinney 7 years, 2 months ago
Current DP implementation depends on TimerLib, as different platforms may 
implement and use their own TimerLib, it makes the dp needs to be built by 
platform. The TimerLib dependency can be removed by using performance property 
configuration table to make DP to be generic.

There was a discussion on edk2-devel about supporting use of different TimerLib
instances in different modules and updating the performance log to support
measurements with different timer rates.  A complete solution for this has
not been found.

This patch series that allows the DP command to get the timer rate from a
system configuration table is useful on its own because it allows the DP shell
command to be independent of the TimerLib used to collect the performance logs.

V3:
Define and install performance property configuration table instead of extending
PEI performance log HOB. As user may want to only dump DXE or SMM performance
data, then PeiPerformanceLib will be not linked and PEI performance log HOB
will be not built.

V4:
Change name of field in PERFORMANCE_PROPERTY from CpuFreq to Frequency.

Cc: Andrew Fish <afish@apple.com>
Cc: Michael Kinney <michael.d.kinney@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Cinnamon Shia <cinnamon.shia@hpe.com>
Cc: Jaben Carsey <jaben.carsey@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com>

Star Zeng (3):
  MdeModulePkg: Add performance property configuration table
  PerformancePkg Dp_App: Remove TimerLib dependency
  ShellPkg UefiDpLib: Remove TimerLib dependency

 MdeModulePkg/Include/Guid/Performance.h            | 12 +++++++-
 .../DxeCorePerformanceLib/DxeCorePerformanceLib.c  | 23 ++++++++++++--
 .../DxeCorePerformanceLib.inf                      |  2 ++
 .../DxeCorePerformanceLibInternal.h                |  3 +-
 .../SmmCorePerformanceLib/SmmCorePerformanceLib.c  | 18 +++++++++++
 .../SmmCorePerformanceLib.inf                      |  5 +++-
 PerformancePkg/Dp_App/Dp.c                         | 35 +++++++++++-----------
 PerformancePkg/Dp_App/Dp.inf                       |  6 ++--
 PerformancePkg/Dp_App/DpInternal.h                 |  6 ++--
 PerformancePkg/Dp_App/DpProfile.c                  |  3 +-
 PerformancePkg/Dp_App/DpStrings.uni                | 10 ++++---
 PerformancePkg/Dp_App/DpTrace.c                    | 25 ++--------------
 PerformancePkg/Dp_App/DpUtilities.c                |  3 +-
 PerformancePkg/Dp_App/Literals.c                   |  3 +-
 ShellPkg/Library/UefiDpLib/Dp.c                    | 29 +++++++-----------
 ShellPkg/Library/UefiDpLib/DpInternal.h            |  6 ++--
 ShellPkg/Library/UefiDpLib/DpProfile.c             |  3 +-
 ShellPkg/Library/UefiDpLib/DpTrace.c               | 25 ++--------------
 ShellPkg/Library/UefiDpLib/DpUtilities.c           |  3 +-
 ShellPkg/Library/UefiDpLib/Literals.c              |  3 +-
 ShellPkg/Library/UefiDpLib/UefiDpLib.inf           |  6 ++--
 ShellPkg/Library/UefiDpLib/UefiDpLib.uni           |  3 +-
 ShellPkg/ShellPkg.dsc                              |  3 +-
 23 files changed, 117 insertions(+), 118 deletions(-)

-- 
2.6.3.windows.1

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [PATCH v4 0/3] Remove TimerLib dependency from DP
Posted by Carsey, Jaben 7 years, 2 months ago
I am good with this change.  I like the idea of changing platforms that build the shell from source in a separate patch series.

Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>

> -----Original Message-----
> From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of
> Michael Kinney
> Sent: Thursday, February 2, 2017 8:56 PM
> To: edk2-devel@lists.01.org
> Cc: Andrew Fish <afish@apple.com>; Gao, Liming <liming.gao@intel.com>; Yao,
> Jiewen <jiewen.yao@intel.com>; Carsey, Jaben <jaben.carsey@intel.com>;
> Zeng, Star <star.zeng@intel.com>
> Subject: [edk2] [PATCH v4 0/3] Remove TimerLib dependency from DP
> Importance: High
> 
> Current DP implementation depends on TimerLib, as different platforms may
> implement and use their own TimerLib, it makes the dp needs to be built by
> platform. The TimerLib dependency can be removed by using performance
> property configuration table to make DP to be generic.
> 
> There was a discussion on edk2-devel about supporting use of different TimerLib
> instances in different modules and updating the performance log to support
> measurements with different timer rates.  A complete solution for this has not
> been found.
> 
> This patch series that allows the DP command to get the timer rate from a
> system configuration table is useful on its own because it allows the DP shell
> command to be independent of the TimerLib used to collect the performance
> logs.
> 
> V3:
> Define and install performance property configuration table instead of
> extending PEI performance log HOB. As user may want to only dump DXE or
> SMM performance data, then PeiPerformanceLib will be not linked and PEI
> performance log HOB will be not built.
> 
> V4:
> Change name of field in PERFORMANCE_PROPERTY from CpuFreq to Frequency.
> 
> Cc: Andrew Fish <afish@apple.com>
> Cc: Michael Kinney <michael.d.kinney@intel.com>
> Cc: Liming Gao <liming.gao@intel.com>
> Cc: Jiewen Yao <jiewen.yao@intel.com>
> Cc: Cinnamon Shia <cinnamon.shia@hpe.com>
> Cc: Jaben Carsey <jaben.carsey@intel.com>
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Star Zeng <star.zeng@intel.com>
> 
> Star Zeng (3):
>   MdeModulePkg: Add performance property configuration table
>   PerformancePkg Dp_App: Remove TimerLib dependency
>   ShellPkg UefiDpLib: Remove TimerLib dependency
> 
>  MdeModulePkg/Include/Guid/Performance.h            | 12 +++++++-
>  .../DxeCorePerformanceLib/DxeCorePerformanceLib.c  | 23 ++++++++++++--
>  .../DxeCorePerformanceLib.inf                      |  2 ++
>  .../DxeCorePerformanceLibInternal.h                |  3 +-
>  .../SmmCorePerformanceLib/SmmCorePerformanceLib.c  | 18 +++++++++++
>  .../SmmCorePerformanceLib.inf                      |  5 +++-
>  PerformancePkg/Dp_App/Dp.c                         | 35 +++++++++++-----------
>  PerformancePkg/Dp_App/Dp.inf                       |  6 ++--
>  PerformancePkg/Dp_App/DpInternal.h                 |  6 ++--
>  PerformancePkg/Dp_App/DpProfile.c                  |  3 +-
>  PerformancePkg/Dp_App/DpStrings.uni                | 10 ++++---
>  PerformancePkg/Dp_App/DpTrace.c                    | 25 ++--------------
>  PerformancePkg/Dp_App/DpUtilities.c                |  3 +-
>  PerformancePkg/Dp_App/Literals.c                   |  3 +-
>  ShellPkg/Library/UefiDpLib/Dp.c                    | 29 +++++++-----------
>  ShellPkg/Library/UefiDpLib/DpInternal.h            |  6 ++--
>  ShellPkg/Library/UefiDpLib/DpProfile.c             |  3 +-
>  ShellPkg/Library/UefiDpLib/DpTrace.c               | 25 ++--------------
>  ShellPkg/Library/UefiDpLib/DpUtilities.c           |  3 +-
>  ShellPkg/Library/UefiDpLib/Literals.c              |  3 +-
>  ShellPkg/Library/UefiDpLib/UefiDpLib.inf           |  6 ++--
>  ShellPkg/Library/UefiDpLib/UefiDpLib.uni           |  3 +-
>  ShellPkg/ShellPkg.dsc                              |  3 +-
>  23 files changed, 117 insertions(+), 118 deletions(-)
> 
> --
> 2.6.3.windows.1
> 
> _______________________________________________
> edk2-devel mailing list
> edk2-devel@lists.01.org
> https://lists.01.org/mailman/listinfo/edk2-devel
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel
Re: [edk2] [PATCH v4 0/3] Remove TimerLib dependency from DP
Posted by Andrew Fish 7 years, 2 months ago
> On Feb 3, 2017, at 9:47 AM, Carsey, Jaben <jaben.carsey@intel.com> wrote:
> 
> I am good with this change.  I like the idea of changing platforms that build the shell from source in a separate patch series.
> 
> Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
> 

Mike,

This looks good. 

 Reviewed-by: Andrew Fish <afish@apple.com <mailto:afish@apple.com>>

Thanks,

Andrew Fish

>> -----Original Message-----
>> From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of
>> Michael Kinney
>> Sent: Thursday, February 2, 2017 8:56 PM
>> To: edk2-devel@lists.01.org
>> Cc: Andrew Fish <afish@apple.com>; Gao, Liming <liming.gao@intel.com>; Yao,
>> Jiewen <jiewen.yao@intel.com>; Carsey, Jaben <jaben.carsey@intel.com>;
>> Zeng, Star <star.zeng@intel.com>
>> Subject: [edk2] [PATCH v4 0/3] Remove TimerLib dependency from DP
>> Importance: High
>> 
>> Current DP implementation depends on TimerLib, as different platforms may
>> implement and use their own TimerLib, it makes the dp needs to be built by
>> platform. The TimerLib dependency can be removed by using performance
>> property configuration table to make DP to be generic.
>> 
>> There was a discussion on edk2-devel about supporting use of different TimerLib
>> instances in different modules and updating the performance log to support
>> measurements with different timer rates.  A complete solution for this has not
>> been found.
>> 
>> This patch series that allows the DP command to get the timer rate from a
>> system configuration table is useful on its own because it allows the DP shell
>> command to be independent of the TimerLib used to collect the performance
>> logs.
>> 
>> V3:
>> Define and install performance property configuration table instead of
>> extending PEI performance log HOB. As user may want to only dump DXE or
>> SMM performance data, then PeiPerformanceLib will be not linked and PEI
>> performance log HOB will be not built.
>> 
>> V4:
>> Change name of field in PERFORMANCE_PROPERTY from CpuFreq to Frequency.
>> 
>> Cc: Andrew Fish <afish@apple.com>
>> Cc: Michael Kinney <michael.d.kinney@intel.com>
>> Cc: Liming Gao <liming.gao@intel.com>
>> Cc: Jiewen Yao <jiewen.yao@intel.com>
>> Cc: Cinnamon Shia <cinnamon.shia@hpe.com>
>> Cc: Jaben Carsey <jaben.carsey@intel.com>
>> Contributed-under: TianoCore Contribution Agreement 1.0
>> Signed-off-by: Star Zeng <star.zeng@intel.com>
>> 
>> Star Zeng (3):
>>  MdeModulePkg: Add performance property configuration table
>>  PerformancePkg Dp_App: Remove TimerLib dependency
>>  ShellPkg UefiDpLib: Remove TimerLib dependency
>> 
>> MdeModulePkg/Include/Guid/Performance.h            | 12 +++++++-
>> .../DxeCorePerformanceLib/DxeCorePerformanceLib.c  | 23 ++++++++++++--
>> .../DxeCorePerformanceLib.inf                      |  2 ++
>> .../DxeCorePerformanceLibInternal.h                |  3 +-
>> .../SmmCorePerformanceLib/SmmCorePerformanceLib.c  | 18 +++++++++++
>> .../SmmCorePerformanceLib.inf                      |  5 +++-
>> PerformancePkg/Dp_App/Dp.c                         | 35 +++++++++++-----------
>> PerformancePkg/Dp_App/Dp.inf                       |  6 ++--
>> PerformancePkg/Dp_App/DpInternal.h                 |  6 ++--
>> PerformancePkg/Dp_App/DpProfile.c                  |  3 +-
>> PerformancePkg/Dp_App/DpStrings.uni                | 10 ++++---
>> PerformancePkg/Dp_App/DpTrace.c                    | 25 ++--------------
>> PerformancePkg/Dp_App/DpUtilities.c                |  3 +-
>> PerformancePkg/Dp_App/Literals.c                   |  3 +-
>> ShellPkg/Library/UefiDpLib/Dp.c                    | 29 +++++++-----------
>> ShellPkg/Library/UefiDpLib/DpInternal.h            |  6 ++--
>> ShellPkg/Library/UefiDpLib/DpProfile.c             |  3 +-
>> ShellPkg/Library/UefiDpLib/DpTrace.c               | 25 ++--------------
>> ShellPkg/Library/UefiDpLib/DpUtilities.c           |  3 +-
>> ShellPkg/Library/UefiDpLib/Literals.c              |  3 +-
>> ShellPkg/Library/UefiDpLib/UefiDpLib.inf           |  6 ++--
>> ShellPkg/Library/UefiDpLib/UefiDpLib.uni           |  3 +-
>> ShellPkg/ShellPkg.dsc                              |  3 +-
>> 23 files changed, 117 insertions(+), 118 deletions(-)
>> 
>> --
>> 2.6.3.windows.1
>> 
>> _______________________________________________
>> edk2-devel mailing list
>> edk2-devel@lists.01.org
>> https://lists.01.org/mailman/listinfo/edk2-devel

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel