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

Re: [MirageOS-devel] Tracing and profiling blog post



On 30 October 2014 15:55, Anil Madhavapeddy <anil@xxxxxxxxxx> wrote:
> On 30 Oct 2014, at 09:36, Thomas Leonard <talex5@xxxxxxxxx> wrote:
>>
>> On 28 October 2014 22:36, Daniel BÃnzli <daniel.buenzli@xxxxxxxxxxxx> wrote:
>>>
>>> Le mardi, 28 octobre 2014 Ã 23:21, Anil Madhavapeddy a Ãcrit :
>>>
>>>> Assemblage is still undergoing 'rapid iteration', so I'd suggest
>>>> switching to OASIS until we have a more stable version. ThomasG or
>>>> Daniel Buenzli can correct me if that's not accurate.
>>>
>>> That's accurate. If we agree with Thomas on the PR I'm going to make next 
>>> week, the current API completely changes and assemble.ml files will need 
>>> rewriting. We need time to design a great system and it's better if we 
>>> don't encumber ourselves with users at the moment.
>>
>> OK, done (thanks to Thomas for some OPAM help!). I think the main
>> thing now is to agree the API for libraries to record tracing events.
>>
>> Here's what I have so far:
>>
>> https://github.com/talex5/mirage-profile/blob/new-api/lib/trace_stubs.mli
>> https://github.com/talex5/mirage-profile/blob/new-api/lib/counter.mli
>
> Does note_suspend/note_resume here refer to dropping in the scheduler (the
> equivalent of blocking the domain)?  It could easily be conflated with
> VM suspend/resume (which is a higher-level protocol).  The actual state
> transition is "waiting for I/O", so perhaps we should name it after that?

It could be waiting for a timer too.

Trace.note_about_to_block?
Trace.note_poll_for_events?

> To echo Mort's comment, istr in Xenstore that there was a problem with many
> duplicate strings for labels, so it has a module somewhere that creates
> a Symbol.t that dedups similar strings, and also has the benefit that
> comparison can be done via fast equality rather than byte-by-byte checking.
> It also allows errors to be flagged up if (for example) duplicate symbol
> names are used in different programs.

I guess you'd pre-allocate these? e.g.

let blkfront_poll_t = MProf.Trace.make_tag "blkfront.poll"
...
   MProf.Trace.note_tag blkfront_poll_t;


-- 
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

 


Rackspace

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