On 2015/11/3 1:12, Carsey, Jaben wrote:
Reviewed-by: Jaben Carsey <jaben.car...@intel.com>

-----Original Message-----
From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of
Cinnamon Shia
Sent: Monday, November 02, 2015 1:12 AM
To: edk2-devel@lists.01.org
Subject: [edk2] [PATCH 1/2] ShellPkg/UefiDpLib: Fix a DP cumulative data
issue
Importance: High

The value of PERF_CUM_DATA.Count and PERF_CUM_DATA.Duration field
keep cumulating on every execution of dp.
Initialize the CumData at dp's entry point.

Signed-off-by: Cinnamon Shia <cinnamon.s...@hpe.com>
---
  ShellPkg/Library/UefiDpLib/Dp.c | 27 ++++++++++++++++++++++++++-
  1 file changed, 26 insertions(+), 1 deletion(-)

diff --git a/ShellPkg/Library/UefiDpLib/Dp.c b/ShellPkg/Library/UefiDpLib/Dp.c
index 8270172..62a4e7b 100644
--- a/ShellPkg/Library/UefiDpLib/Dp.c
+++ b/ShellPkg/Library/UefiDpLib/Dp.c

This patch is not needed for PerformancePkg\Dp_App as PerformancePkg\Dp_App is a standalone application.

Thanks,
Star

@@ -14,6 +14,7 @@
    timer information to calculate elapsed time for each measurement.

    Copyright (c) 2009 - 2013, Intel Corporation. All rights reserved.
+  (C) Copyright 2015 Hewlett Packard Enterprise Development LP<BR>
    This program and the accompanying materials
    are licensed and made available under the terms and conditions of the BSD
License
    which accompanies this distribution.  The full text of the license may be
found at
@@ -110,7 +111,26 @@ DumpStatistics( void )
    SHELL_FREE_NON_NULL (StringPtrUnknown);
  }

-/**
+/**
+  Initialize the cumulative data.
+
+**/
+VOID
+InitCumulativeData (
+  VOID
+  )
+{
+  UINTN                             Index;
+
+  for (Index = 0; Index < NumCum; ++Index) {
+    CumData[Index].Count = 0;
+    CumData[Index].MinDur = PERF_MAXDUR;
+    CumData[Index].MaxDur = 0;
+    CumData[Index].Duration = 0;
+  }
+}
+
+/**
    Dump performance data.

    @param[in]  ImageHandle     The image handle.
@@ -219,6 +239,11 @@ ShellCommandRunDp (
    }

    //
+  // Initialize the pre-defined cumulative data.
+  //
+  InitCumulativeData ();
+
+  //
    // Timer specific processing
    //
    // Get the Performance counter characteristics:
--
1.9.5.msysgit.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

Reply via email to