jffs zlib tuning

Jordan Crouse jordan.crouse at amd.com
Wed Jan 9 10:51:42 EST 2008


On 08/01/08 17:09 -0800, William Fisher wrote:
> 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.

We can't use NMI, because we have no mechanism for causing the NMIs.
Modern processors such as the k8 use registers called event counters
to count a number of events between sample periods (events being some
processor quality like "number of instructions executed" or "number of
cache misses").  These event counters can be set up in such a way that
they cause a NMI when the counter rolls over.  This is how oprofile
takes advantage of the silicon.  The kicker is that even though the Geode
has event counters, we cannot set them up to cause a NMI.  So, with that
mechanism lost, we're stuck with the timer tick.

This has been discussed several times over the lifetime of the project - you
can go back over the archives of the list and see our past conclusions
on this matter.

Jordan





More information about the Devel mailing list