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

RE: [Xen-ia64-devel] [PATCH] fully virtualize psr and ipsr on non-VTI domain


  • To: "Xu, Anthony" <anthony.xu@xxxxxxxxx>
  • From: "Magenheimer, Dan (HP Labs Fort Collins)" <dan.magenheimer@xxxxxx>
  • Date: Thu, 12 Jan 2006 12:32:18 -0800
  • Cc: xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
  • Delivery-date: Thu, 12 Jan 2006 20:38:47 +0000
  • List-id: Discussion of the ia64 port of Xen <xen-ia64-devel.lists.xensource.com>
  • Thread-index: AcXzytgKo6So03GTShmzfLz5ceuCSgj6wdUg
  • Thread-topic: [Xen-ia64-devel] [PATCH] fully virtualize psr and ipsr on non-VTI domain

Hi Anthony --

Since things have stabilized, I decided to give this patch
some testing, primarily to see if it might fix the gcc
segmentation faults that Fujita and I have been seeing.
Without this patch, I am able to compile Linux 20 times
on domU; generally 1 or 2 of the compiles fails because
of the gcc segfault.  With the patch, Xen *crashed*
on the sixth Linux compile (first try) and halfway
through the first Linux compile (second try).  This
is on a Tiger4, but I currently am not able to get console
output so I don't have any information about the crash --
other than that the machine didn't reboot.  Could you see
if you could reproduce this?

As an aside, turning off the FAST_BREAK, FAST_ACCESS_REFLECT,
and FAST_RFI features (which your patch turns off) slowed
down the benchmark by about 4%.

Thanks,
Dan

> -----Original Message-----
> From: Xu, Anthony [mailto:anthony.xu@xxxxxxxxx] 
> Sent: Sunday, November 27, 2005 8:22 PM
> To: Magenheimer, Dan (HP Labs Fort Collins)
> Cc: xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
> Subject: [Xen-ia64-devel] [PATCH] fully virtualize psr and 
> ipsr on non-VTI domain
> 
> Dan,
> This patch is intended to fully virtualize psr and ipsr on non-VTI
> domain.
> Following things are done in this patch.
> 1, previously when guest reads psr, it always get psr dt rt 
> it equal to
> 1. that is because HV doesn't restore these information,
> metaphysical_mode can't present all these information. I save these
> information into privregs->vpsr. Thus guest can get correct 
> information
> about dt, rt and it.
> 2, when guest reads psr, we should only return low 32bits and 
> 35 and 36
> bits, previously return all bits.
> 3, when guest rsm and ssm psr, HV rsm and ssm some bits of current psr
> which is used by HV, that is not correct, guest rsm and ssm 
> should only
> impact guest psr(that is regs->ipsr).
> 4, mistakenly uses guest DCR, guest DCR should impact guest psr when
> injecting interruption into guest, but not impact guest ipsr.
> When injecting interruption into guest,The current implementation is
>       Guest ipsr.be=guest dcr.be
>       Guest ipsr.pp=guest dcr.pp
> Correct implementation should be,
>       Guest psr.be=guest dcr.be
>       Guest psr.pp=guest dcr.pp.
> 
> Because of above modifications, I turn off FAST_RFI, FAST_BREAK and
> FAST_ACCESS_REFLECT.
> 
> Signed-off-by Anthony Xu < anthony.xu@xxxxxxxxx>
> 
> One question, why do we need to virtualize guest psr.pp and always set
> guest psr.pp to 1?
> 
> Thanks
> -Anthony
> 
> 
> 
> 
> 
> 
> 
> 
> 

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