I did rework the function slightly to improve readability and
maintainability. Removed also duplicated code and whitespace issues.

Signed-off-by: Robert Richter <[EMAIL PROTECTED]>
---
 lib/pfmlib_amd64.c |   58 +++++++++++++++++++++++++--------------------------
 1 files changed, 28 insertions(+), 30 deletions(-)

diff --git a/lib/pfmlib_amd64.c b/lib/pfmlib_amd64.c
index f4e4a0a..58a4e78 100644
--- a/lib/pfmlib_amd64.c
+++ b/lib/pfmlib_amd64.c
@@ -75,8 +75,8 @@
 #define AMD64_FAM10H AMD64_FAM10H_REV_B
 
 typedef enum {
-       AMD64_CPU_UN,
-        AMD64_K7,
+       AMD64_CPU_UN,
+       AMD64_K7,
        AMD64_K8_REV_B,
        AMD64_K8_REV_C,
        AMD64_K8_REV_D,
@@ -93,7 +93,7 @@ static const char *amd64_rev_strs[]= {
 
 static const char *amd64_cpu_strs[]= {
        "unknown model",
-        "K7",
+       "K7",
        "K8 RevB",
        "K8 RevC",
        "K8 RevD",
@@ -127,8 +127,8 @@ pfm_pmu_support_t amd64_support;
 static amd64_rev_t
 amd64_get_revision(int family, int model, int stepping)
 {
-        if (family == 6)
-          return AMD64_K7;
+       if (family == 6)
+               return AMD64_K7;
 
        if (family == 15) {
                switch (model >> 4) {
@@ -190,36 +190,34 @@ pfm_amd64_setup(int revision)
                 amd64_cpu_strs[revision]);
        amd64_support.pmu_name  = amd64_pmu.name;
 
-        if (amd64_pmu.revision ==AMD64_K7) {
-          amd64_pmu.events             = amd64_k7_table.events;
-          amd64_support.pme_count      = amd64_k7_table.num;
-          amd64_pmu.cpu_clks           = amd64_k7_table.cpu_clks;
-          amd64_pmu.ret_inst           = amd64_k7_table.ret_inst;
-          amd64_support.pmu_type       = PFMLIB_AMD64_PMU;
-          amd64_support.num_cnt        = PMU_AMD64_NUM_COUNTERS;
-          amd64_support.pmc_count      = PMU_AMD64_NUM_COUNTERS;
-          amd64_support.pmd_count      = PMU_AMD64_NUM_COUNTERS;
-       }
-        else {
-           /* defaults (K8) */
-          amd64_pmu.events             = amd64_k8_table.events;
-          amd64_support.pme_count      = amd64_k8_table.num;
-          amd64_pmu.cpu_clks           = amd64_k8_table.cpu_clks;
-          amd64_pmu.ret_inst           = amd64_k8_table.ret_inst;
-          amd64_support.pmu_type       = PFMLIB_AMD64_PMU;
-          amd64_support.num_cnt        = PMU_AMD64_NUM_COUNTERS;
-          amd64_support.pmc_count      = PMU_AMD64_NUM_COUNTERS;
-          amd64_support.pmd_count      = PMU_AMD64_NUM_COUNTERS;
+       /* K8 (default) */
+       amd64_pmu.events        = amd64_k8_table.events;
+       amd64_support.pme_count = amd64_k8_table.num;
+       amd64_pmu.cpu_clks      = amd64_k8_table.cpu_clks;
+       amd64_pmu.ret_inst      = amd64_k8_table.ret_inst;
+       amd64_support.pmu_type  = PFMLIB_AMD64_PMU;
+       amd64_support.num_cnt   = PMU_AMD64_NUM_COUNTERS;
+       amd64_support.pmc_count = PMU_AMD64_NUM_COUNTERS;
+       amd64_support.pmd_count = PMU_AMD64_NUM_COUNTERS;
+
+       /* K7 */
+        if (amd64_pmu.revision == AMD64_K7) {
+               amd64_pmu.events        = amd64_k7_table.events;
+               amd64_support.pme_count = amd64_k7_table.num;
+               amd64_pmu.cpu_clks      = amd64_k7_table.cpu_clks;
+               amd64_pmu.ret_inst      = amd64_k7_table.ret_inst;
+               return;
        }
 
-       /* additional features */
+       /* Barcelona */
        if (IS_FAMILY_10H()) {
-               amd64_pmu.events = amd64_fam10h_table.events;
-               amd64_support.pme_count = amd64_fam10h_table.num;
-               amd64_pmu.cpu_clks = amd64_fam10h_table.cpu_clks;
-               amd64_pmu.ret_inst = amd64_fam10h_table.ret_inst;
+               amd64_pmu.events        = amd64_fam10h_table.events;
+               amd64_support.pme_count = amd64_fam10h_table.num;
+               amd64_pmu.cpu_clks      = amd64_fam10h_table.cpu_clks;
+               amd64_pmu.ret_inst      = amd64_fam10h_table.ret_inst;
                amd64_support.pmc_count = PMU_AMD64_NUM_PERFSEL;
                amd64_support.pmd_count = PMU_AMD64_NUM_PERFCTR;
+               return;
        }
 }
 
-- 
1.5.3.7



-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
perfmon2-devel mailing list
perfmon2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/perfmon2-devel

Reply via email to