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).
--
yamahata
_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel
|