]> git.proxmox.com Git - mirror_edk2.git/commitdiff
ProcessCumulative() function always calculates the average performance by dividing...
authorlzeng14 <lzeng14@6f19259b-4bc3-4df7-8a09-765794883524>
Thu, 20 Jan 2011 11:18:14 +0000 (11:18 +0000)
committerlzeng14 <lzeng14@6f19259b-4bc3-4df7-8a09-765794883524>
Thu, 20 Jan 2011 11:18:14 +0000 (11:18 +0000)
When the count is zero, it will report exception, so it needs to be enhanced to check the dividend.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11260 6f19259b-4bc3-4df7-8a09-765794883524

PerformancePkg/Dp_App/DpTrace.c

index b70e3a2208f333ea177b4a8bd850e39b384cf5d5..b60d7c98c09e1df68869ceba07b8844916b48d02 100644 (file)
@@ -723,19 +723,21 @@ ProcessCumulative(
   PrintToken (STRING_TOKEN (STR_DP_DASHES));\r
 \r
   for ( TIndex = 0; TIndex < NumCum; ++TIndex) {\r
-    AvgDur = DivU64x32 (CumData[TIndex].Duration, CumData[TIndex].Count);\r
-    AvgDur = DurationInMicroSeconds(AvgDur);\r
-    Dur    = DurationInMicroSeconds(CumData[TIndex].Duration);\r
-    MaxDur = DurationInMicroSeconds(CumData[TIndex].MaxDur);\r
-    MinDur = DurationInMicroSeconds(CumData[TIndex].MinDur);\r
+    if (CumData[TIndex].Count != 0) {\r
+      AvgDur = DivU64x32 (CumData[TIndex].Duration, CumData[TIndex].Count);\r
+      AvgDur = DurationInMicroSeconds(AvgDur);\r
+      Dur    = DurationInMicroSeconds(CumData[TIndex].Duration);\r
+      MaxDur = DurationInMicroSeconds(CumData[TIndex].MaxDur);\r
+      MinDur = DurationInMicroSeconds(CumData[TIndex].MinDur);\r
     \r
-    PrintToken (STRING_TOKEN (STR_DP_CUMULATIVE_STATS),\r
-                CumData[TIndex].Name,\r
-                CumData[TIndex].Count,\r
-                Dur,\r
-                AvgDur,\r
-                MinDur,\r
-                MaxDur\r
-               );\r
+      PrintToken (STRING_TOKEN (STR_DP_CUMULATIVE_STATS),\r
+                  CumData[TIndex].Name,\r
+                  CumData[TIndex].Count,\r
+                  Dur,\r
+                  AvgDur,\r
+                  MinDur,\r
+                  MaxDur\r
+                 );\r
+    }\r
   }\r
 }\r