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

Re: [MirageOS-devel] Profiling Mirage on Xen



by the way, back in the day, someone did some work on UDP in BSD unix to get it to not go so slow (see
A Faster UDP
by partidge and pinkÂ
but i dont think anyone picked up on those optimisations in the Linux world (though obviously did for TCP) - not sure tho!


On Thu, Aug 21, 2014 at 3:31 PM, Thomas Leonard <talex5@xxxxxxxxx> wrote:
On 21 August 2014 15:09, Thomas Gazagnaire <thomas@xxxxxxxxxxxxxx> wrote:
>>> Cool -- it would be great to polish up a tool like this.
>>
>> Yes, I think there's a lot we could do here. I've written up the
>> profiling I've done so far here:
>>
>> http://roscidus.com/blog/blog/2014/08/15/optimising-the-unikernel/
>>
>> The graphs are quite interesting - if people familiar with the code
>> could explain what's going on (especially with the block device) that
>> would be great!
>
> I'm settting up a 4.01 switch with profiling on.

Thanks!

> Do you think the -fno-omit-frame-pointer configure options could also help to have more precise profiling information?

I'm not sure it would help. The problems currently are:

1. We can't tell when a function returns until the next one is called.
2. Tail calls look like the function returned first.
3. For recursive calls, we can't tell which frame is the caller. (e.g.
foo calls foo and foo calls bar, but we don't know which foo
activation called bar).

We could guess (3) by looking at the stack pointer. But it wouldn't
work for tail calls, since the stack doesn't grow and if we solved (1)
and (2) then we'd get (3) for free.

I guess it wouldn't be hard to make the compiler call a trace function
on every return / before every tail call.

The frame pointer would be useful if we didn't have tracing but wanted
a backtrace.

> Thomas
>
>>
>> Overall, the changes increased the queuing service's download rate
>> from 2.46 MB/s to 7.24 MB/s, which is nice but still a bit
>> disappointing.
>>
>>
>> --
>> 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
>



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

_______________________________________________
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®.