Reviewed-by: Jaben Carsey <[email protected]>
> -----Original Message----- > From: edk2-devel [mailto:[email protected]] On Behalf Of > Cinnamon Shia > Sent: Monday, November 02, 2015 1:12 AM > To: [email protected] > 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 <[email protected]> > --- > 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 > @@ -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 > [email protected] > https://lists.01.org/mailman/listinfo/edk2-devel _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

