CPU utilization problem on 2.6.10 kernel - Embedded

This is a discussion on CPU utilization problem on 2.6.10 kernel - Embedded ; Hello group! When we migrate from the kernel version 2.4.20 to the version 2.6.10 we encountered the following problem: Our HW platform is Intel server blade with two Xeon processor with HT (top shows 4 processors). When we run our ...

+ Reply to Thread
Results 1 to 5 of 5

Thread: CPU utilization problem on 2.6.10 kernel

  1. CPU utilization problem on 2.6.10 kernel

    Hello group!

    When we migrate from the kernel version 2.4.20 to the version 2.6.10 we
    encountered the following problem:

    Our HW platform is Intel server blade with two Xeon processor with HT (top
    shows 4 processors). When we run our multi processes benchmark on the 2.4.20
    kernel we were able, according to top, to utilize all 4 processors 100% (0 %
    idle time).

    But when we run the same binary on the 2.6.10 kernel the benchmark was
    unable to utilize all 4 CPUs more than 35% (65 % of idle time on every
    processor is still available).

    Simple single threaded benchmarks gave us same results on both kernel
    versions.

    I presume that something must be wrong with the scheduling and SMP. Will
    applying of the scheduling patches or migration to the newer kernel helps?
    Why? Did someone encounter similar problem? Can you point me to any useful
    link on the net?

    Any comments are more than welcome.

    Regards,

    Sani rusNOSPAM@SPAMNOiskratel.si



  2. Re: CPU utilization problem on 2.6.10 kernel

    Did you just check the idle time value provided by the Kernel, or did
    you also measure how much work the application threads get done ?

    By this you might be able to decide if the problem in fact is the
    scheduling or just the reading of the idle time value.

    -Michael

  3. Re: CPU utilization problem on 2.6.10 kernel

    Sani Rus wrote:
    > But when we run the same binary on the 2.6.10 kernel the benchmark was
    > unable to utilize all 4 CPUs more than 35% (65 % of idle time on every
    > processor is still available).


    snip

    > Any comments are more than welcome.


    I think the difference is in the way that 2.6 determines active and
    idle time for Hyper Threading. I notice that 2.4 kernels will report
    100% on each hyperthread, whereas with 2.6 kernels, the sum of the two
    will never exceed 100%. 2.4 kernel are not too smart about HT and seem
    to think that each hypterthread is an independent processor. 2.6 seems
    to understand that this is one processor with two hyperthreads. So,
    really, the difference is in the way that CPU utilitization is being
    reported on hyperthreaded processors, rather than any scheduling problem.

    By the way, the 2.6 information is accurate and the 2.4 info is false
    (A hyperthreaded CPU does not have 200% CPU real-time available to it,
    maybe at the outside 130%.)

    --brian


  4. Re: CPU utilization problem on 2.6.10 kernel

    > By the way, the 2.6 information is accurate and the 2.4 info is false
    > (A hyperthreaded CPU does not have 200% CPU real-time available to it,
    > maybe at the outside 130%.)


    With modern CPUs, determining the idle percentage does not seem to make
    much sense. A hyperthreaded CPU can do some 120% of the performance if
    the second thread is enabled, but this depends greatly on the task to be
    done. If both threads do a lot memory actions that use data outside of
    the cache, the memory interface is the limiting factor and the
    performance will be not more that 100% of the single threadded setup.
    Supposedly even only some 80% because of the task switching overhead.

    -Michael

  5. Re: CPU utilization problem on 2.6.10 kernel

    > By the way, the 2.6 information is accurate and the 2.4 info is false
    > (A hyperthreaded CPU does not have 200% CPU real-time available to it,
    > maybe at the outside 130%.)


    This is not for sure .

    Each thread _could_ be calculated as 100% (which is some 60% of the
    performance of a single "CPU" in a non hyperthreaded setup with the same
    chip).


    -Michael

+ Reply to Thread