Le Vendredi 31 Mars 2006 03:23, Isaku Yamahata a écrit :
> On Thu, Mar 30, 2006 at 03:58:21PM +0100, Tristan Gingold wrote:
> > Le Jeudi 30 Mars 2006 16:17, Isaku Yamahata a écrit :
> > > On Thu, Mar 30, 2006 at 04:59:35PM +0800, Xu, Anthony wrote:
> > > > There seems no issue, because vcpu_purge_tr_entry() only sets ->p=0.
> > > > In some cases, this patch may cause a not-present tlb inserted into
> > > > machine TLB, this is harmless, when guest accesses this page, page
> > > > not present fault happens, and guest kernel will purge this tlb and
> > > > insert a new one, there are a little performance penalty.
> > > > Sine you will send IPI to flush vhpt later, why not purge this tlb as
> > > > well as flush vhpt.
> > >
> > > Page not present fault is different from tlb miss fault.
> > > So guest OS may handle them differently.
> > > For example, suppose guest OS is Linux and a area covered by dtlb
> > > is from PAGE_OFFSET + 64MB. In this case Linux results in kernel panic.
> >
> > PAGE_OFFSET + 64MB is covered by a tr, isn't it ?
>
> [PAGE_OFFSET, PAGE_OFFSET + KERNEL_TR_PAGE_SIZE - 1] is covered.
> Here KERNEL_TR_PAGE_SIZE = 64MB which is defined
> in linux/asm-ia64/pgtable.h.
>
> For safety, please consider
> PAGE_OFFSET + KERNEL_TR_PAGE_SIZE * n + (small offsets).
In this case alt dtlb miss is generated.
Tristan.
_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel
|