direct-io.hg

changeset 8859:761275bcf825

Fix Xen builds with perfc=y and perfc_arrays=y.

Signed-off-by: Chris Wright <chrisw@sous-sol.org>
Signed-off-by: Ben Thomas <ben@virtualiron.com>
author kaf24@firebug.cl.cam.ac.uk
date Thu Feb 16 22:33:46 2006 +0100 (2006-02-16)
parents 50b1fe78e2e8
children 2d00d405ef9f
files xen/arch/x86/shadow_public.c xen/include/public/dom0_ops.h xen/include/xen/perfc_defn.h
line diff
     1.1 --- a/xen/arch/x86/shadow_public.c	Thu Feb 16 22:25:54 2006 +0100
     1.2 +++ b/xen/arch/x86/shadow_public.c	Thu Feb 16 22:33:46 2006 +0100
     1.3 @@ -672,7 +672,7 @@ void free_shadow_page(unsigned long smfn
     1.4          break;
     1.5  #endif
     1.6      case PGT_snapshot:
     1.7 -        perfc_decr(apshot_pages);
     1.8 +        perfc_decr(snapshot_pages);
     1.9          break;
    1.10  
    1.11      default:
     2.1 --- a/xen/include/public/dom0_ops.h	Thu Feb 16 22:25:54 2006 +0100
     2.2 +++ b/xen/include/public/dom0_ops.h	Thu Feb 16 22:33:46 2006 +0100
     2.3 @@ -311,7 +311,7 @@ typedef struct dom0_read_memtype {
     2.4  #define DOM0_PERFCCONTROL_OP_RESET 1   /* Reset all counters to zero. */
     2.5  #define DOM0_PERFCCONTROL_OP_QUERY 2   /* Get perfctr information. */
     2.6  typedef struct dom0_perfc_desc {
     2.7 -    uint8_t      name[80];             /* name of perf counter */
     2.8 +    char         name[80];             /* name of perf counter */
     2.9      uint32_t     nr_vals;              /* number of values for this counter */
    2.10      uint32_t     vals[64];             /* array of values */
    2.11  } dom0_perfc_desc_t;
     3.1 --- a/xen/include/xen/perfc_defn.h	Thu Feb 16 22:25:54 2006 +0100
     3.2 +++ b/xen/include/xen/perfc_defn.h	Thu Feb 16 22:33:46 2006 +0100
     3.3 @@ -14,6 +14,12 @@ PERFCOUNTER_ARRAY(shm_l2_updates,       
     3.4                    PERFC_MAX_PT_UPDATES)
     3.5  PERFCOUNTER_ARRAY(shm_hl2_updates,      "shadow mode HL2 pt updates",
     3.6                    PERFC_MAX_PT_UPDATES)
     3.7 +#if defined(CONFIG_X86_64) || defined(CONFIG_X86_PAE)
     3.8 +PERFCOUNTER_ARRAY(shm_l3_updates,       "shadow mode L3 pt updates",
     3.9 +                  PERFC_MAX_PT_UPDATES)
    3.10 +PERFCOUNTER_ARRAY(shm_l4_updates,       "shadow mode L4 pt updates",
    3.11 +                  PERFC_MAX_PT_UPDATES)
    3.12 +#endif
    3.13  PERFCOUNTER_ARRAY(snapshot_copies,      "entries copied per snapshot",
    3.14                    PERFC_MAX_PT_UPDATES)
    3.15  
    3.16 @@ -60,6 +66,10 @@ PERFCOUNTER_CPU(read_fault_bail,        
    3.17  PERFCOUNTER_CPU(map_domain_page_count,  "map_domain_page count")
    3.18  PERFCOUNTER_CPU(ptwr_emulations,        "writable pt emulations")
    3.19  
    3.20 +#if defined(CONFIG_X86_64) || defined(CONFIG_X86_PAE)
    3.21 +PERFCOUNTER_CPU(shadow_l4_table_count,  "shadow_l4_table count")
    3.22 +PERFCOUNTER_CPU(shadow_l3_table_count,  "shadow_l3_table count")
    3.23 +#endif
    3.24  PERFCOUNTER_CPU(shadow_l2_table_count,  "shadow_l2_table count")
    3.25  PERFCOUNTER_CPU(shadow_l1_table_count,  "shadow_l1_table count")
    3.26  PERFCOUNTER_CPU(unshadow_table_count,   "unshadow_table count")
    3.27 @@ -68,6 +78,10 @@ PERFCOUNTER_CPU(shadow_update_va_fail1, 
    3.28  PERFCOUNTER_CPU(shadow_update_va_fail2, "shadow_update_va_fail2")
    3.29  
    3.30  /* STATUS counters do not reset when 'P' is hit */
    3.31 +#if defined(CONFIG_X86_64) || defined(CONFIG_X86_PAE)
    3.32 +PERFSTATUS(shadow_l4_pages,             "current # shadow L4 pages")
    3.33 +PERFSTATUS(shadow_l3_pages,             "current # shadow L3 pages")
    3.34 +#endif
    3.35  PERFSTATUS(shadow_l2_pages,             "current # shadow L2 pages")
    3.36  PERFSTATUS(shadow_l1_pages,             "current # shadow L1 pages")
    3.37  PERFSTATUS(hl2_table_pages,             "current # hl2 pages")
    3.38 @@ -82,6 +96,10 @@ PERFCOUNTER_CPU(shadow_hl2_table_count, 
    3.39  PERFCOUNTER_CPU(shadow_set_l1e_force_map, "shadow_set_l1e forced to map l1")
    3.40  PERFCOUNTER_CPU(shadow_set_l1e_unlinked, "shadow_set_l1e found unlinked l1")
    3.41  PERFCOUNTER_CPU(shadow_set_l1e_fail,    "shadow_set_l1e failed (no sl1)")
    3.42 +#if defined(CONFIG_X86_64) || defined(CONFIG_X86_PAE)
    3.43 +PERFCOUNTER_CPU(shadow_set_l2e_force_map, "shadow_set_l2e forced to map l2")
    3.44 +PERFCOUNTER_CPU(shadow_set_l3e_force_map, "shadow_set_l3e forced to map l3")
    3.45 +#endif
    3.46  PERFCOUNTER_CPU(shadow_invlpg_faults,   "shadow_invlpg's get_user faulted")
    3.47  PERFCOUNTER_CPU(unshadow_l2_count,      "unpinned L2 count")
    3.48  
    3.49 @@ -95,6 +113,10 @@ PERFCOUNTER_CPU(shadow_sync_all,        
    3.50  PERFCOUNTER_CPU(shadow_sync_va,         "calls to shadow_sync_va")
    3.51  PERFCOUNTER_CPU(resync_l1,              "resync L1 page")
    3.52  PERFCOUNTER_CPU(resync_l2,              "resync L2 page")
    3.53 +#if defined(CONFIG_X86_64) || defined(CONFIG_X86_PAE)
    3.54 +PERFCOUNTER_CPU(resync_l3,              "resync L3 page")
    3.55 +PERFCOUNTER_CPU(resync_l4,              "resync L4 page")
    3.56 +#endif
    3.57  PERFCOUNTER_CPU(resync_hl2,             "resync HL2 page")
    3.58  PERFCOUNTER_CPU(shadow_make_snapshot,   "snapshots created")
    3.59  PERFCOUNTER_CPU(shadow_mark_mfn_out_of_sync_calls,
    3.60 @@ -113,6 +135,9 @@ PERFCOUNTER_CPU(validate_pde_changes,   
    3.61  PERFCOUNTER_CPU(shadow_get_page_fail,   "shadow_get_page_from_l1e fails")
    3.62  PERFCOUNTER_CPU(validate_hl2e_calls,    "calls to validate_hl2e_change")
    3.63  PERFCOUNTER_CPU(validate_hl2e_changes,  "validate_hl2e makes changes")
    3.64 +#if defined(CONFIG_X86_64) || defined(CONFIG_X86_PAE)
    3.65 +PERFCOUNTER_CPU(validate_entry_changes,  "validate_entry changes")
    3.66 +#endif
    3.67  PERFCOUNTER_CPU(exception_fixed,        "pre-exception fixed")
    3.68  PERFCOUNTER_CPU(get_mfn_from_gpfn_foreign, "calls to get_mfn_from_gpfn_foreign")
    3.69  PERFCOUNTER_CPU(remove_all_access,      "calls to remove_all_access")