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

Re: [MirageOS-devel] Problem with Lwt and TCP/IP

On 24 Mar 2015, at 23:44, Thomas Gazagnaire <thomas@xxxxxxxxxxxxxx> wrote:
>>> It sounds like thereâs no guarantee that the scheduler is going to be run
>>> any time soon. With your proposed modification, how similar would a
>>> paused thread be to a thread sleeping for 0 seconds?
>> I wrote a test unikernel to compare the performance of pause and sleep
>> here [3]. The results are from a cubieboard. In the test Lwt.pause is
>> faster than OS.Time.sleep 0.0 on Unix (211k calls per second vs 71k),
>> but not in Xen without the patch (3 calls per second vs 110k). With the
>> patch it is around 190k vs 129k in Xen.
> Not sure to understand why there is differences between Xen and Linux here. 
> Maybe a room for performance improvement for our stack.

Being descheduled in Xen is a lot more expensive than a syscall in Unix.
If you remove the 'block_domain' in Xen's main.ml then it will probably
speed up a fair bit, or pin the domain.

Also, it's worth checking on x86 times as well as ARM, since these 
microbenchmarks are probably quite cache-sensitive.

MirageOS-devel mailing list



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