[CentOS] measuring kernel speed

Mon May 10 13:46:35 UTC 2010
Ross Walker <rswwalker at gmail.com>

On May 10, 2010, at 8:53 AM, JohnS <jses27 at gmail.com> wrote:

>
> On Mon, 2010-05-10 at 07:40 -0500, Les Mikesell wrote:
>> JohnS wrote:
>>> On Sun, 2010-05-09 at 21:46 -0400, Ross Walker wrote:
>>>> On Sat, May 8, 2010 at 7:38 PM, JohnS <jses27 at gmail.com> wrote:
>>>>> On Sat, 2010-05-08 at 16:17 -0400, Ross Walker wrote:
>>>>>> On May 8, 2010, at 8:35 AM, Mag Gam <magawake at gmail.com> wrote:
>>>>>>
>>>>>>> At our Physics research labs we do a lot with low latency  
>>>>>>> networks. We
>>>>>>> have been using Centos for over 3 years now and its been  
>>>>>>> great! We
>>>>>>> would like to tune and optimize our setup by removing unneeded
>>>>>>> packages -- kernel modules to be specific. I was wondering,  
>>>>>>> how does
>>>>>>> one measure the speed of the kernel. Is that even possible?
>>>>>> Use oprofile.
>>>>>>
>>>>>> -Ross
>>>>> ---
>>>>> Ross, never mind I just yummed it onto a machine there faq is  
>>>>> inheritly
>>>>> wrong.
>>>> The FAQ is only correct in respect to the project's view.
>>>>
>>>> Redhat has a custom oprofile that works with their custom  
>>>> kernels, so
>>>> stock oprofile from the project's site IS incompatible, but  
>>>> that's OK
>>>> cause RH provides one that works with their distro.
>>>>
>>>> -Ross
>>> ---
>>> Correct as i found out.
>>
>> Would this also be suitable for testing efficiency loss from  
>> running under
>> VMware or other virtualization methods?
> ---
> You say efficiency loss.  That could mean anything from the power  
> input
> down to the kernel.  It looks like that can be determined by oprofile
> and latencytop.  Latencytop will give you the millisecond time for
> execution. As far as Oprofile maybe Ross will indeed fill us in if he
> can.

Oprofile will show where those precious latencies timings are being  
used. It of course adds latency itself, so this should be factored  
into the latency timings.

It will time all kernel operations then you can drill down into  
particular modules/routines to see more granularity.

Needs debug symbols to be fully useful. Can provide timings as source  
code annotations.

This is useful in finding modules, or statically linked routines that  
suck up precious time and either eliminate or fix them.

-Ross