On 31/05/18 16:49, Andrew Cooper wrote:
> On 31/05/18 15:14, Juergen Gross wrote:
>> On 31/05/18 15:05, Marcello Seri wrote:
>>> When xenstore was updated to support safe-string, some unnecessary
>>> copies were introduced. A further patch reduced the copies at the price
>>> of many calls to unsafe conversions between bytes and strings. In the
>>> port we also did not notice that some C stubs were still incorrectly
>>> using ocaml strings as mutable payload.
>>>
>>> This set of patches updates the C stubs that use mutable payloads passed
>>> from ocaml, and reduces the amount of unsafe conversions where possible
>>> without further increasing the number of copies.
>>>
>>> This seems also to fix some unclear instabilities that appeared after
>>> the former patch introducing the unsafe conversion with some version of
>>> the ocaml compiler.
>> This is rather vague.
>>
>> Can you confirm that oxenstored is now as stable as it was without the
>> safe-string patches?
>>
>> Could you please mention the commit of the patch you are fixing in the
>> related commit message? I'd like to know which of the two patches is
>> the real fix and which is "only" some improvement of code.
>>
>> We are rather close to the release, so I'm hesitating to accept cleanup
>> patches now.
> 
> So far, these changes do appear to have fixed the issues XenRT first
> noticed.  Unfortunately the failures are very hard to quantify, but seem
> to amount to "some operations seem to get dropped" (as there is no
> obvious corruption), but the issues are rare and takes an large quantity
> of machine hours to encounter.

Did you try multiple concurrent runs of "xs-test -r <seconds>" to
reproduce the problem? This has helped me a lot to find problems in
xenstore.

> I can't comment for exact changes, but the bug being fixed by patch 1 is
> not passing a buffer (which the Ocaml runtime thinks is immutable) to
> the C stubs to be written into.  AFAICT, it is consequence of the very
> first attempt to move from mutable to immutable strings.

So patch 2 is more kind of a cleanup? Or is it needed for the fix, too?


Juergen

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

Reply via email to