jffs zlib tuning

William Fisher fisher at agami.com
Tue Jan 8 20:09:41 EST 2008


Jordan Crouse wrote:
> On 08/01/08 12:06 -0500, Bernardo Innocenti wrote:
>> (cc CP, aleph)
>>
>> David Woodhouse wrote:
>>
>>>> 1. Did anybody profile the kernel while reading files? Last thing I red 
>>>> on this list is that the profiler does not work on the XO in kernel mode. 
>>>> Did anybody fix that
>>> I believe that standard kernel profiling (on timer ticks) has always
>>> worked, and even continues to work even though we use a tickless kernel
>>> now. I think oprofile also works.
>> oprofile works, but for some reason it cannot generate
>> call graphs.
>>
>> It vaguely remember that the problem was that on the Geode we
>> were using sw timers rather than NMI as a timing source.
> 
> Right - but that should only prevent us from benchmarking within interrupts
> in the kernel - it shouldn't have any effect on our userland benchmarking.
> 
> I'm no oprofile expert (I couldn't get it working at all when I tried it
> the other day), but do you have the debug version of libc loaded too?  Maybe
> it can't find the symbols.
> 
> Jordan
> 
If you have NMI interrupts selected for Oprofile, you can also
get samples from the other "lower" level interrupt handlers.

Since OProfile can be run in either NMI interrupts or "normal"
timer based interrupts.

Check out the oprofile driver for your kernel and check which
.config option you have selected for your build.

I use NMI based sampling with the AMD  use it to look at the profiles in the
various device driver interrupt handlers for both disk
and ethernet controllers.

Check out: ../kernel/linux-2.6.20/drivers/oprofile/timer_int.c

This contains the "ops" vector initialization code, from which
the timer_notify() procedure is called.

The other code to look at is ../kernel/profile.c which contains
the general profile support.

-- Bill



More information about the Devel mailing list