On 24 Mar 2015, at 23:44, Thomas Gazagnaire <[email protected]> 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. -anil _______________________________________________ MirageOS-devel mailing list [email protected] http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel
