> On 2012.06.13 00:56 - 0700, Charles Wang wrote: > Every cpu's load should be the load right on the time executing > calculation. > This is what my patch expected to do. > After my patch, it's supposed to let every cpu's load calculation be > independent from > its idle and other cpus' influence when the calculation is finished. > But it seems other problem exists. > I recorded some trace, show as below: Charles thanks for your detailed reply. I am not sure I agree. On purpose, I have left out your trace detail from this reply. Why? Because I want to take a step back and answer a more fundamental question first: Is there (or was there) actually a problem that needed to be solved? I am still not understanding what your expected reported load averages for your 16 processes should be. How do you know that the 8 to 10 that was being reported was incorrect? I want to understand so that I can re-create your same reported load averages are still to low situation on my test computer, before your patch. Then show that it is fixed after your patch. I have tried to re-create it and have been unsuccessful. Today, and since you showed at least 16 CPUs on your system, and I only have 8 CPUs, I tried with 8 processes at high duty cycle. The reported load average was always pretty close to the actual load (see also attachment). Perhaps I have some fundamental misunderstanding as to how reported load averages should work. I have always used kernels compiled with CONFIG_NO_HZ=no (tick based, rather than tickless) as the control reference.