|  |  | 
  
    |  |  | 
 
  |   |  | 
  
    |  |  | 
  
    |  |  | 
  
    |   xen-ia64-devel
RE: [Xen-ia64-devel] [PATCH] NEW_TLBFLUSH_CLOCK_PERIOD_SOFTIRQ is	notreg 
| Isaku Yamahata write on 2007年1月30日 11:36:
> On Tue, Jan 30, 2007 at 09:46:04AM +0800, Xu, Anthony wrote:
>> Isaku Yamahata write on 2007年1月29日 18:29:
>>> 
>>> How about the following example?
>>> For simplicity, we consider only local_flush_tlb_all().
>>> (The similar argument can be applied to vcpu_vhpt_flush())
>>> 
>>> suppose domM has two vcpus, vcpu0, vcpu1.
>>>     domN has one vcpu, vcpu2.
>>> 
>>> - case 1
>>>   vcpu0 and vcpu1 are running on same pcpu.
>>>   vcpu0 runs.
>>>   context switch <<<< local_flush_tlb_all() is necessry here  
>>> vcpu1 runs. 
>>> 
>>> - case 2
>>>   vcpu0, vcpu1 and vcpu2 are running on the same pcpu   vcpu0 runs
>>>   context switch
>>>   vcpu2 runs
>>>   vcpu2 issues local_tlb_flush().
>>>   context switch <<< local_flush_tlb_all() can be skipped.
>> I can understand this. Yes, this local_flush_tlb_all can be skipped,
>> But it is because vcpu2 issues local_tlb_flush.
>> My question is why we need new_tlbflush_clock_period?
> 
> Because the counter is finite.
> If we can ignore conter overflow, we can check only which counter
> is bigger.
> But when overflow comes in (i.e. counter == 0 after increment),
> things become complicated. It's the reason of
> new_tlbflush_clock_period. 
> 
> Probably another approach to address overflow is to use signed
> comparison like Linux jiffies time_after().
> But we can't assume the distance between two conters is near enough.
> 
> 
Understand now.
One more question
Why need local_vhpt_flush and vcpu_vhpt_flush call 
tlbflush_clock_inc_and_return?
In per-CPU VHPT mode,
tlbflush_clock_inc_and_return only needs to be called in local_flush_tlb_all.
Am I right?
Thanks,
Anthony
_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel
 | 
 
| <Prev in Thread] | Current Thread | [Next in Thread> |  | 
Re: [Xen-ia64-devel] [PATCH] NEW_TLBFLUSH_CLOCK_PERIOD_SOFTIRQ is	notregistered., (continued)
RE: [Xen-ia64-devel] [PATCH] NEW_TLBFLUSH_CLOCK_PERIOD_SOFTIRQ is	notregistered., Xu, Anthony
Re: [Xen-ia64-devel] [PATCH] NEW_TLBFLUSH_CLOCK_PERIOD_SOFTIRQ is	notregistered., Isaku Yamahata
RE: [Xen-ia64-devel] [PATCH] NEW_TLBFLUSH_CLOCK_PERIOD_SOFTIRQ is	notregistered., Xu, Anthony
Re: [Xen-ia64-devel] [PATCH] NEW_TLBFLUSH_CLOCK_PERIOD_SOFTIRQ is	notregistered., Isaku Yamahata
RE: [Xen-ia64-devel] [PATCH] NEW_TLBFLUSH_CLOCK_PERIOD_SOFTIRQ is	notregistered., Xu, Anthony
Re: [Xen-ia64-devel] [PATCH] NEW_TLBFLUSH_CLOCK_PERIOD_SOFTIRQ is	notregistered., Isaku Yamahata
RE: [Xen-ia64-devel] [PATCH] NEW_TLBFLUSH_CLOCK_PERIOD_SOFTIRQ is	notregistered.,
Xu, Anthony <=
Re: [Xen-ia64-devel] [PATCH] NEW_TLBFLUSH_CLOCK_PERIOD_SOFTIRQ is	notregistered., Isaku Yamahata
 |  |  | 
  
    |  |  |