[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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



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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.