[Bugme-new] [Bug 12369] New: Performace drop from 2.6.10 to 2.6.18

bugme-daemon at bugzilla.kernel.org bugme-daemon at bugzilla.kernel.org
Mon Jan 5 22:35:47 PST 2009


http://bugzilla.kernel.org/show_bug.cgi?id=12369

           Summary: Performace drop from 2.6.10 to 2.6.18
           Product: Other
           Version: 2.5
     KernelVersion: 2.6.18
          Platform: All
        OS/Version: Linux
              Tree: Mainline
            Status: NEW
          Severity: normal
          Priority: P1
         Component: Other
        AssignedTo: other_other at kernel-bugs.osdl.org
        ReportedBy: cli4 at alcatel-lucent.com


Latest working kernel version: 2.6.10
Earliest failing kernel version: 2.6.18
Distribution: MontaVista CGE4/CGE5
Hardware Environment: PowerPC 750
Software Environment: MontaVista CGE4/CGE5
Problem Description:

We are working an embeded Linux using MontaVista CGE. Since we upgraded from
CGE4 (2.6.10) to CGE5 (2.6.18), we found that our applications' performance
drop very much. With writing a small test program, and runing it with strace, I
found the main performance difference is on futex system. It seems futex on
CGE5 is much heavier than on CGE4.

strace data on CGE4 looks like this:
% time     seconds  usecs/call     calls    errors syscall
------ ----------- ----------- --------- --------- ----------------
 39.26    0.060724         222       274           write
 38.64    0.059762           2     27246           time
 19.51    0.030168           1     27244           nanosleep
  1.29    0.002002         501         4         1 futex
  0.64    0.000995         995         1           execve
  0.37    0.000579           2       274           gettimeofday
------ ----------- ----------- --------- --------- ----------------
100.00    0.154657                 55102        12 total

While on CGE5 is:
% time     seconds  usecs/call     calls    errors syscall
------ ----------- ----------- --------- --------- ----------------
 69.14    0.347917       69583         5         1 futex
 23.53    0.118406           4     29890           nanosleep
  6.62    0.033335           1     29892           time
  0.52    0.002606           9       300           write
  0.07    0.000357           1       300           gettimeofday
  0.05    0.000239         239         1           execve
------ ----------- ----------- --------- --------- ----------------
100.00    0.503226                 60446        10 total


Steps to reproduce:
1. Write a simple C program that just looply certain time to do nanosleep 5ms.
2. Build the program to executable named tnano. 
2. Use this command "strace -Ffctrr -o nosleep.trace ./tnano" to it on both
2.6.10 and 2.6.18, and cat nosleep.trace to see data.


-- 
Configure bugmail: http://bugzilla.kernel.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.


More information about the Bugme-new mailing list