WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-ia64-devel

[Xen-ia64-devel] [PATCH][0/3] Steal time accounting for PVdomain/IA64 TA

To: xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-ia64-devel] [PATCH][0/3] Steal time accounting for PVdomain/IA64 TAKE2
From: Atsushi SAKAI <sakaia@xxxxxxxxxxxxxx>
Date: Wed, 07 Mar 2007 19:03:54 +0900
Delivery-date: Wed, 07 Mar 2007 02:03:16 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-ia64-devel-request@lists.xensource.com?subject=help>
List-id: Discussion of the ia64 port of Xen <xen-ia64-devel.lists.xensource.com>
List-post: <mailto:xen-ia64-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-ia64-devel-bounces@xxxxxxxxxxxxxxxxxxx
This patch intends to consider steal time for PV domains.

0) To see the effect
   just run top command you see x.x%st in Cpu(s) (for procps 3.2.7 etc)
   or cat /proc/stat and check last column of cpu.

1) Relation to x86

   I'm taken following functions from x86 code
   Hypervisor
     arch_do_vcpu_op()
   PVdomain
     init_missing_ticks_accounting()
   
   Other functions are created originally,
   but these are based on x86 implementation.
   Hypervior
      add copy_to_guest(runstate) at context_switch()
   PVdomain
      define consider_steal_time()
   also hypercall implementation is based on x86
   but I consider xencomm.

2) Tuning

   Current version is not tuned yet.
   just uses copy_to_guest not memcpy in context_switch
   The reason is the code becomes dirty,
   since xencomm functions are explicitly appeared in main routines,    

3) Process
   Same as x86

   Starting time 
     PV domain executes init_missing_ticks_accounting()
     this calls hypercall(PVdomain => Hypervisor)
     Hypervisor executes arch_do_vcpu_op()
     and set PV domain memory area.

   Running time
     Hypervisor reflects runstate info to PVguest every context_switch
     PV domain checks this info every timer_interruption and 
     reflects steal time.

4) For memory issue (suggested by Isaku)
  Current code just uses per_cpu area, 
  So we does not need suggested memory treatment.

This patch set composed of 3.
1)linux/arch/ia64/kernel/time.c (just import the code.)
2)Hypervisor patch (support hypercall and report runstate to PVdomain)
3)PVdomain patch (calling hypercall function and timer_interruption changes)

Signed-off-by: Atsushi SAKAI <sakaia@xxxxxxxxxxxxxx>

The changes from previous version[RFC] is 
1) Use hypercall (previously data is transferred by shared_info)
2) timer_interrupt changes for accurate steal time accounting
    a) goto sentence is add for skip sys/user time accounting.
    b) itc rollback caused by vcpu migration is considered.
       if rollback occured, stop steal time consideration.
       (this check is done in consider_steal_time())

Thanks
Atsushi SAKAI


_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-ia64-devel] [PATCH][0/3] Steal time accounting for PVdomain/IA64 TAKE2, Atsushi SAKAI <=