direct-io.hg

changeset 4245:dcf6c3ab8a7b

bitkeeper revision 1.1252 (423f0601ZuS2OaJ71fHZxF3wK4zUrQ)

Cleanup after merge

Signed-off-by: michael.fetterman@cl.cam.ac.uk
author mafetter@fleming.research
date Mon Mar 21 17:36:01 2005 +0000 (2005-03-21)
parents 688480d39d96
children c54f46498d74 4d289fcd59c9
files linux-2.6.10-xen-sparse/arch/xen/configs/xen0_defconfig xen/arch/x86/domain_build.c xen/include/xen/perfc_defn.h
line diff
     1.1 --- a/linux-2.6.10-xen-sparse/arch/xen/configs/xen0_defconfig	Mon Mar 21 16:41:29 2005 +0000
     1.2 +++ b/linux-2.6.10-xen-sparse/arch/xen/configs/xen0_defconfig	Mon Mar 21 17:36:01 2005 +0000
     1.3 @@ -1,7 +1,7 @@
     1.4  #
     1.5  # Automatically generated make config: don't edit
     1.6  # Linux kernel version: 2.6.10-xen0
     1.7 -# Mon Feb 21 13:46:38 2005
     1.8 +# Mon Mar 21 17:07:15 2005
     1.9  #
    1.10  CONFIG_XEN=y
    1.11  CONFIG_ARCH_XEN=y
    1.12 @@ -13,13 +13,16 @@ CONFIG_NO_IDLE_HZ=y
    1.13  CONFIG_XEN_PRIVILEGED_GUEST=y
    1.14  CONFIG_XEN_PHYSDEV_ACCESS=y
    1.15  # CONFIG_XEN_BLKDEV_BACKEND is not set
    1.16 -# CONFIG_XEN_BLKDEV_TAP_BE is not set
    1.17  # CONFIG_XEN_NETDEV_BACKEND is not set
    1.18  CONFIG_XEN_BLKDEV_FRONTEND=y
    1.19  CONFIG_XEN_NETDEV_FRONTEND=y
    1.20  # CONFIG_XEN_NETDEV_FRONTEND_PIPELINED_TRANSMITTER is not set
    1.21  # CONFIG_XEN_BLKDEV_TAP is not set
    1.22  CONFIG_XEN_WRITABLE_PAGETABLES=y
    1.23 +CONFIG_XEN_SYSCALL_STATS=y
    1.24 +# CONFIG_XEN_DEBUG_NO_MMU_BATCHING is not set
    1.25 +# CONFIG_XEN_BATCH_MODE1 is not set
    1.26 +# CONFIG_XEN_BATCH_MODE2 is not set
    1.27  CONFIG_XEN_SHADOW_MODE=y
    1.28  CONFIG_XEN_SCRUB_PAGES=y
    1.29  CONFIG_X86=y
     2.1 --- a/xen/arch/x86/domain_build.c	Mon Mar 21 16:41:29 2005 +0000
     2.2 +++ b/xen/arch/x86/domain_build.c	Mon Mar 21 17:36:01 2005 +0000
     2.3 @@ -28,6 +28,9 @@ integer_param("dom0_mem", opt_dom0_mem);
     2.4  static unsigned int opt_dom0_shadow = 0;
     2.5  boolean_param("dom0_shadow", opt_dom0_shadow);
     2.6  
     2.7 +static unsigned int opt_dom0_translate = 0;
     2.8 +boolean_param("dom0_translate", opt_dom0_translate);
     2.9 +
    2.10  #if defined(__i386__)
    2.11  /* No ring-3 access in initial leaf page tables. */
    2.12  #define L1_PROT (_PAGE_PRESENT|_PAGE_RW|_PAGE_ACCESSED)
    2.13 @@ -84,8 +87,6 @@ int construct_dom0(struct domain *d,
    2.14      l2_pgentry_t *l2tab = NULL, *l2start = NULL;
    2.15      l1_pgentry_t *l1tab = NULL, *l1start = NULL;
    2.16  
    2.17 -    int translate_dom0 = 1; // HACK ALERT !!  Force dom0 to run in shadow translate mode
    2.18 -
    2.19      /*
    2.20       * This fully describes the memory layout of the initial domain. All 
    2.21       * *_start address are page-aligned, except v_start (and v_end) which are 
    2.22 @@ -445,7 +446,7 @@ int construct_dom0(struct domain *d,
    2.23              _initrd_start, (_initrd_start+initrd_len+PAGE_SIZE-1) & PAGE_MASK);
    2.24      }
    2.25  
    2.26 -    d->next_io_page = d->max_pages;
    2.27 +    d->next_io_page = max_page;
    2.28  
    2.29      /* Set up start info area. */
    2.30      si = (start_info_t *)vstartinfo_start;
    2.31 @@ -535,12 +536,12 @@ int construct_dom0(struct domain *d,
    2.32  
    2.33      new_thread(ed, dsi.v_kernentry, vstack_end, vstartinfo_start);
    2.34  
    2.35 -    if ( opt_dom0_shadow || translate_dom0 )
    2.36 +    if ( opt_dom0_shadow || opt_dom0_translate )
    2.37      {
    2.38 -        shadow_mode_enable(d, (translate_dom0
    2.39 +        shadow_mode_enable(d, (opt_dom0_translate
    2.40                                 ? SHM_enable | SHM_translate
    2.41                                 : SHM_enable));
    2.42 -        if ( translate_dom0 )
    2.43 +        if ( opt_dom0_translate )
    2.44          {
    2.45              // map this domain's p2m table into current page table,
    2.46              // so that we can easily access it.
     3.1 --- a/xen/include/xen/perfc_defn.h	Mon Mar 21 16:41:29 2005 +0000
     3.2 +++ b/xen/include/xen/perfc_defn.h	Mon Mar 21 17:36:01 2005 +0000
     3.3 @@ -83,3 +83,17 @@ PERFCOUNTER_CPU(validate_pte_changes,   
     3.4  PERFCOUNTER_CPU(validate_pde_calls,                "calls to validate_pde_change")
     3.5  PERFCOUNTER_CPU(validate_pde_changes,              "validate_pde makes changes")
     3.6  PERFCOUNTER_CPU(shadow_get_page_fail,   "shadow_get_page_from_l1e fails" )
     3.7 +PERFCOUNTER_CPU(validate_hl2e_calls,               "calls to validate_hl2e_change")
     3.8 +PERFCOUNTER_CPU(validate_hl2e_changes,             "validate_hl2e makes changes")
     3.9 +PERFCOUNTER_CPU(exception_fixed,                   "pre-exception fixed")
    3.10 +PERFCOUNTER_CPU(gpfn_to_mfn_safe,                  "calls to gpfn_to_mfn_safe")
    3.11 +PERFSTATUS( writable_pte_predictions, "# writable pte predictions")
    3.12 +PERFCOUNTER_CPU(remove_write_access,               "calls to remove_write_access")
    3.13 +PERFCOUNTER_CPU(remove_write_access_easy,          "easy outs of remove_write_access")
    3.14 +PERFCOUNTER_CPU(remove_write_no_work,              "no work in remove_write_access")
    3.15 +PERFCOUNTER_CPU(remove_write_not_writable,         "remove_write non-writable page")
    3.16 +PERFCOUNTER_CPU(remove_write_fast_exit,            "remove_write hit predicted entry")
    3.17 +PERFCOUNTER_CPU(remove_write_predicted,            "remove_write predict hit&exit")
    3.18 +PERFCOUNTER_CPU(remove_write_bad_prediction,       "remove_write bad prediction")
    3.19 +PERFCOUNTER_CPU(write_fault_bail,                  "sf bailed due to write_fault")
    3.20 +PERFCOUNTER_CPU(read_fault_bail,                   "sf bailed due to read_fault")