On Thu, Dec 04, 2008 at 09:10:48AM -0700, Alex Williamson wrote:
> On Thu, 2008-12-04 at 15:29 +0900, Isaku Yamahata wrote:
> > Although I also replied by the bugzilla,
> > I also send the patch to the list for those who doesn't
> > watch on the bug report.
> > I hope this patch fixes it, please try this.
> Hi Isaku,
> Thanks for looking at this.  With your patch, it doesn't fail, but I
> regularly see cases where it doesn't complete, at least not in a
> reasonable time frame.  I imagine it's getting stuck in an endless loop
> of retries. 

Hmm, I have been afraid of that. But I haven't observed it myself yet.
It's probably because I've tested it without any other workloads.
Injecting floating point fault/trap into pv guest and letting the guest
retrieve the bundle/issue fpswa hypercall would solve that issue.

However FPSWA hypercall isn't implemented properly which
currently returns random value. This is the root cause.
Please see fw_hypercall_fpswa()/ in xen/arch/ia64/xen/hypercall.c
which was implemented by Kanno-san as 10158:9d52a66c7499.
I can't find any place which sets arch_vcpu::fpswa_ret.
Kanno-san, Any comment?

from 10158:9d52a66c7499

+static fpswa_ret_t
+fw_hypercall_fpswa (struct vcpu *v)
+       return PSCBX(v, fpswa_ret);
@@ -109,6 +114,7 @@ struct arch_vcpu {
     //for phycial  emulation
     unsigned long old_rsc;
     int mode_flags;
+    fpswa_ret_t fpswa_ret;     /* save return values of FPSWA emulation */
     struct arch_vmx_struct arch_vmx; /* Virtual Machine Extensions */

> On bare metal the test takes about 1.3s (1.66GHz Montvale).
> The few cases I've seen it complete running in dom0, it takes about 3.1s
> (1.6GHz Montecito).  Thanks,

It's quite slow. more optimization is necessary?


Xen-ia64-devel mailing list

Reply via email to