|
|
|
|
|
|
|
|
|
|
xen-ia64-devel
Re: [Xen-devel] Re: [Xen-ia64-devel] flush_tlb_mask and grant_table on i
Le Vendredi 21 Avril 2006 23:15, Hollis Blanchard a écrit :
> On Fri, 2006-04-21 at 09:42 +0200, Tristan Gingold wrote:
> > Le Vendredi 21 Avril 2006 09:27, Xu, Anthony a écrit :
> > > From: xen-ia64-devel-bounces@xxxxxxxxxxxxxxxxxxx
> > >
> > > >[mailto:xen-ia64-devel-bounces@xxxxxxxxxxxxxxxxxxx] On Behalf Of
> > > > Tristan Gingold
> > > >Sent: 2006?4?21? 15:24
> > > >To: xen-devel@xxxxxxxxxxxxxxxxxxx; xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
> > > >Subject: [Xen-ia64-devel] flush_tlb_mask and grant_table on ia64
> > > >
> > > >Hi,
> > > >
> > > >on IA64 flushing the whole TLB is very expensive: this is a cpu tlb
> > > > flush and clearing 16MB of memory (virtual tlb).
> > > >However, flushing an address range is rather cheap. Flushing an
> > > > address range on every processors is also cheap (no IPI).
> > > >
> > > >Unfortunatly Xen common code flushes the whole TLB after unmapping
> > > > grant reference.
> > >
> > > Agreed
> > >
> > > >Currently, this is not done on IA64 because domain_dirty_cpumask is
> > > > never set (bug!).
> > > >
> > > >We can flush TLB by range within destroy_grant_host_mapping. But then
> > > > we need to disable the flush_tlb_mask call.
> > > >
> > > >What is the best solution?
> > >
> > > It depends on the coverage of VHPT and coverage of purged page.
> >
> > From my point of view, the problem is not the number of frames to be
> > purge. I suppose only a few pages are unmapped per unmap_grant_ref call
> > (although I may be wrong here).
> >
> > From my point of view the problem is how to make Xen common code more
> > arch neutral.
>
> I think the obvious solution would be to provide more information to the
> arch code, e.g.
> flush_grant_ref(gnttab_unmap_grant_ref_t *ref)
> or maybe
> flush_tlb_range(ulong maddr, ulong len)
>
> x86 could ignore this extra data and simply flush the whole TLB as it
> does now.
Yes, I am going this way.
However this is not so simple: we want to call flush_tlb_range for every page
but flush_tlb_all only once...
Tristan.
_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel
|
|
|
|
|