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

RE: [Xen-devel] xenbus stress testing



> 
> James Harper writes ("[Xen-devel] xenbus stress testing"):
> > Is there a simple way to stress test xenbus from DomU? In
particular,
> > the sending of partial messages.
> 
> Not without messing with the domU kernel.  The xenbus driver in the
> domU kernel is responsible for actually formatting the messages to
> and/from the xenstore shared ring; domU userland if it talks to
> xenstore at all just talks to its kernel.
> 

I think I have found the error and it was probably a 1 in a million race
so stress testing might not have helped anyway. My code went:

len = min(ring->rsp_prod - ring->rsp_cons, msg_size)

and the ASSERT was hit because len was > msg_size, and the only possible
way I can ever see that happening is if ring->rsp_prod changed between
the if in the min() and the assignment. I'm now snapshotting rsp_prod to
a local variable at the start. Kind of embarrassing really as plenty of
example code exists.

For vif and vbd that sort of race would easily be hit fairly often but
xenbus is obviously used much less, I've only ever had one bug report
from it.

James

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.