Hello,

After a complicated investigation, it turns out that c/s 2529c850ea48
broke xc_vcpu_getinfo().

The bug looks as if it is in vcpu_runstate_get(), which doesn't account
for XEN_RUNSTATE_UPDATE and calculating a wildly inappropriate delta. 
Ultimately, the result of XEN_DOMCTL_getvcpuinfo ends up very
occasionally with op->u.getvcpuinfo.cpu_time being wrong by 1 << 63.

Given some of the callers of vcpu_runstate_get(), I don't think it is
reasonable to pause the VCPU while reading the runstate info.  However,
it is also unclear whether waiting for XEN_RUNSTATE_UPDATE to drop in
vcpu_runstate_get() is safe either.

Thoughts?

~Andrew

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

Reply via email to