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

Re: [Xen-ia64-devel] [PATCH] bug fix new_tlbflush_clock_period()



On Mon, Feb 05, 2007 at 11:34:59AM +0800, Xu, Anthony wrote:
> Before calling local_vhpt_flush,
> We need to make sure it is not VTI-domain and it is not per-VCPU VHPT,

local_vhpt_flush() always flushes vhpt associated to pcpu. not vcpu.

DEFINE_PER_CPU (unsigned long, vhpt_paddr);
DEFINE_PER_CPU (unsigned long, vhpt_pend);
local_vhpt_flush(void)
        __vhpt_flush(__ia64_per_cpu_var(vhpt_paddr));


> +static void
> +tlbflush_clock_local_flush(void *unused)
> +{
> 
> >> if(!VMX_DOMAIN(current)&&!HAS_PERVCPU_VHPT(current->domain){
> +    local_vhpt_flush();
> >>    }
> +    local_flush_tlb_all();
> +}
> +
> 
> - Anthony
> 
> Isaku Yamahata write on 2007年2月5日 10:56:
> > On Mon, Feb 05, 2007 at 10:02:53AM +0800, Xu, Anthony wrote:
> >> Isaku Yamahata write on 2007年2月5日 9:45:
> >>> Hi Kouya.
> >>> Good catch!
> >>> Although this patch already commited and I made the bug,
> >>> vti domain also relies on tlb flush lock.
> >>> (See flush_vtlb_for_context_switch())
> >>> 
> >>> So we should do
> >>>   if (!test_bit(_VCPUF_initialize))
> >>>   continue
> >>>   if (VMX_DOMAIN(v))
> >>>   <flush all hash and collision chain of v>
> >>>   else
> >>>   vcpu_vhpt_flush()
> >>> 
> >>> Or
> >>> 
> >>>   disable the tlb flush clock usage in
> >>> flush_vtlb_for_context_switch().
> >>> 
> >> 
> >> Hi Isaku,
> >> 
> >> Why do we need to call vcpu_vhpt_flush?
> >> IMO we only need to call __local_flush_tlb_all, if we use per-vcpu
> >> VHPT. Can you elaborate it?
> > 
> > That's right.
> > when I wrote that, I tried to apply tlb flush clock to
> > not only mTLB and vhpt but also per-vcpu vhpt. but it isn't
> > used for per-vcpu vhpt. So I removed the related bogus code.
> 

-- 
yamahata

_______________________________________________
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®.