[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [MirageOS-devel] Tracing and profiling blog post
On 27 October 2014 11:22, Anil Madhavapeddy <anil@xxxxxxxxxx> wrote: > On 27 Oct 2014, at 11:17, Thomas Leonard <talex5@xxxxxxxxx> wrote: >> >> Note that everything should (in future) compile with an unmodified >> Lwt. Pinning the tracing version of Lwt is what will trigger >> everything to recompile with profiling support. So, getting this >> upstream shouldn't block anything (and might indeed be difficult), >> although if upstream wants to add a flag for it that would be great >> too. >> >> This is a change to my previous plan of having Lwt depend on >> mirage-profiling. Now, mirage-profiling depends on Lwt. If you want to >> use any extended feature of Lwt you should go via profiling. e.g. in >> mirage-platform we have: >> >> let ports = Array.init nr_events (fun port -> { >> counter = program_start; >> c = Profile.named_condition ("after-chn-" ^ string_of_int port) >> }) >> >> If Lwt.tracing is installed then Profile.named_condition is: >> >> let named_condition label = >> Lwt_condition.create ~label () >> >> Without, it will be: >> >> let named_condition _label = Lwt_condition.create () > > This also sounds like the right order, and permits other tracing > strategies in the future for Lwt. Are you doing the mirage-platform > conditional compilation via optcomp? My plan is that only mirage-profile will use conditional compilation and everything else will always depend on mirage-profile, but get the calls optimised out by the compiler when tracing isn't being used. Currently though I haven't implemented anything. I was thinking of having two versions of profile.ml and only compiling the appropriate one. mirage-profile is currently using assemblage, so any suggestions on the best way to do that are welcome. My current thought is to have a flag saying whether you want profiling, and have OPAM set the flag depending on the availablilty of the lwt.tracing ocamlfind package (which the modified Lwt installs). Or should the build detect this somehow? If assemblage is too experimental for mirage-dev, I could also convert to oasis. -- Dr Thomas Leonard http://0install.net/ GPG: 9242 9807 C985 3C07 44A6 8B9A AE07 8280 59A5 3CC1 GPG: DA98 25AE CAD0 8975 7CDA BD8E 0713 3F96 CA74 D8BA _______________________________________________ MirageOS-devel mailing list MirageOS-devel@xxxxxxxxxxxxxxxxxxxx http://lists.xenproject.org/cgi-bin/mailman/listinfo/mirageos-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |