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

Re: [Xen-ia64-devel] [PATCH][3/3] Steal time accounting forPVdomain/IA64

To: Isaku Yamahata <yamahata@xxxxxxxxxxxxx>
Subject: Re: [Xen-ia64-devel] [PATCH][3/3] Steal time accounting forPVdomain/IA64 TAKE2
From: Atsushi SAKAI <sakaia@xxxxxxxxxxxxxx>
Date: Thu, 15 May 2008 19:46:43 +0900
Cc: Aron Griffis <aron@xxxxxx>, xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Thu, 15 May 2008 03:47:44 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <20080515091032.GK26415%yamahata@xxxxxxxxxxxxx>
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>
References: <20080515091032.GK26415%yamahata@xxxxxxxxxxxxx>
Sender: xen-ia64-devel-bounces@xxxxxxxxxxxxxxxxxxx
Hi, Isaku

Thank you for your comments.

Let me explain the principle of timer_interrupt at first.

1)It should assume l->itm_next < ia64_get_itc() at timer_interrupt().
  (This is because the relation of itc and itm)
  But timer_interrupt does not assmes the maximum difference.
  So the difference of l->itm_next and ia64_get_itc() 
  have some chance to get large value.

2)The timer_interrupt does not always come just after when l->itm_next = itm.
  Some times the timer_interrupt comes with l->itm_next + l->itm_delta x n.
  (n: interger number from 0 to large value).
  This is because the domain vcpu is blocked by other domain.

3)Current consider_steal_time() handles stolen and blocked tick.
  Other running tick is considered on timer_interrupt.

Then I reply your questions in line

Isaku Yamahata <yamahata@xxxxxxxxxxxxx> wrote:

> On Thu, May 15, 2008 at 06:02:00PM +0900, Atsushi SAKAI wrote:
> 
> > consider_steal_time() treats stolentick.
> > The stolentick is composed of l->itm_delta + alpha.
> > The stolentick can consider the large value(unsigned long).
> > So stolentick can take from 0 to unsigned long.
> > In this meaning, the value of alpha has no assumption in it.
> 
> But consider_stea_time() also sets l->itm_next!
> Do you agree that l->itm_next can happen to be smaller than
> ia64_get_itc() - l->itm_delta?
Yes, I agree.

As you suggested, consider_steal_time() sets l->itm_next in the routine.
This is just because accouting routines exist in consider_steal_time().
And other reason is I intend to minimize the change of timer_interrupt() itself.

> > As you suggested, if we consider the case of manu vcpu on one pcpu,
> > the alpha value expected to become large value.
> > But no problem in it.
> 
> Why no probelem?
> l->itm_next can become smaller than ia64_get_itc() - l->itm_delta.
> It breaks the the assumption of timer_interrupts().

If l->itm_next < ia64_get_itc(),(ineq.1)
the timer_interrupt assumption keeps.
So If l->itm_next < ia64_get_itc () - l->itm_delta,
This is also satisfy above ineq.1.

Thanks
Atsushi SAKAI





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