| Configuration: |
NPTL-latest |
NPTL-SLES9 |
NPTL-FC3T2 |
FASTBOOT-FC3T2 |
FASTBOOT-SLES9 |
VERONE-SLES9 |
IA64-BAS3 |
IA64-latest |
| CPU: |
2xIA32 |
2xIA32 | 2xIA32 | 8xIA32 |
8xIA32 | 4xPPC |
24xItanium2 |
24xItanium2 |
| RAM: |
2GB |
2GB | 2GB | 32GB |
32GB | 4GB |
64GB |
64GB |
| kernel: |
2.6.8.1 |
2.6.5-7.97-smp |
2.6.8-1.541smp |
2.6.8-1.541smp |
2.6.5-7.97-bigsmp |
2.6.5-7.97-pseries64 |
2.6.7-BAS3V14 | 2.6.8.1 |
| libc: |
2004-10-11 |
NPTL
0.61 |
NPTL
2.3.3 |
NPTL
2.3.3 |
NPTL
0.61 |
NPTL
0.61 |
NPTL 0.60 | 2004-10-11 |
| Total Tests (*): | 1846 |
1846 |
1846 |
1846 |
1846 |
1846 |
1846 |
1846 |
| Tests Passed: | 1467 |
1313 |
1439 |
1440 |
1311 |
1261 |
1288 |
1338 |
| Build Failures: | 39 |
186 |
56 |
56 |
186 |
193 |
194 |
48 |
| Link Failures: | 0 |
4 |
4 |
4 |
4 |
4 |
4 |
0 |
| Link Skipped: | 233 |
234 |
233 |
233 |
234 |
233 |
230 |
230 |
| Tests Failed: | 17 |
19 |
21 |
20 |
21 |
21 |
36 |
61 |
| Tests Untested: | 46 |
46 |
46 |
46 |
46 |
46 |
46 |
46 |
| Tests Unresolved: | 5 |
5 |
6 |
6 |
5 |
4 |
4 |
85 |
| Tests Unsupported: | 29 |
29 |
29 |
29 |
29 |
37 |
39 |
29 |
| Tests Killed: | 8 |
8 |
9 |
9 |
8 |
45 |
5 |
7 |
| Tests Hung: | 2 |
2 |
3 |
3 |
2 |
2 |
0 |
2 |
| Duration (min): | 20.35 |
23.12 |
25.65 |
37.18 |
29.55 |
37.55 |
21.02 |
25.18 |
| Configuration: |
NPTL-latest |
NPTL-SLES9 |
NPTL-FC3T2 |
FASTBOOT-FC3T2 |
FASTBOOT-SLES9 |
VERONE-SLES9 |
IA64-BAS3 |
IA64-latest |
| CPU: |
2xIA32 |
2xIA32 | 2xIA32 | 8xIA32 |
8xIA32 | 4xPPC |
24xItanium2 |
24xItanium2 |
| RAM: |
2GB |
2GB | 2GB | 32GB |
32GB | 4GB |
64GB |
64GB |
| kernel: |
2.6.8.1 |
2.6.5-7.97-smp |
2.6.8-1.541smp |
2.6.8-1.541smp |
2.6.5-7.97-bigsmp |
2.6.5-7.97-pseries64 |
2.6.7-BAS3V14 | 2.6.8.1 |
| libc: |
2004-10-11 |
NPTL
0.61 |
NPTL
2.3.3 |
NPTL
2.3.3 |
NPTL
0.61 |
NPTL
0.61 |
NPTL 0.60 |
2004-10-11 |
| pthread_cond_init |
PASS |
COMPIL |
COMPIL | COMPIL | COMPIL | COMPIL | COMPIL | PASS |
| pthread_cond_timedwait |
PASS |
COMPIL |
COMPIL | COMPIL | COMPIL | COMPIL | COMPIL | KILL |
| pthread_create |
FAIL(*) |
PASS |
FAIL(*) | FAIL(*) | PASS | PASS | PASS | PASS |
| pthread_mutex_init | PASS |
PASS |
PASS | PASS | PASS | PASS | PASS | PASS |
| pthread_mutex_lock1 |
PASS |
PASS |
PASS | PASS | PASS | PASS | KILL |
KILL |
| pthread_mutex_lock2 |
PASS |
PASS |
PASS | PASS | PASS | PASS | KILL |
KILL |
| pthread_cond_timedwait (graph) | OK |
COMPIL |
COMPIL | COMPIL | COMPIL | COMPIL | COMPIL | KILL |
| pthread_create
(graph) |
FAIL(*) |
OK |
FAIL(*) | FAIL(*) | OK | OK | OK | OK |
| pthread_mutex_init (graph) | OK |
OK |
OK | OK | OK | OK | OK | OK |
| 2xi686
+ latest glibc |
Conformance
issue - no graph was generated |
| 2xi686 + SLES9 | ![]() |
| 2xi686 + FC3T2 | Conformance issue |
| 8xi686 + FC3T2 | Conformance issue |
| 8xi686 + SLES9 | ![]() |
| 4xPPC + SLES9 | ![]() |
| 24xItanium2 + BAS3 | ![]() |
| 24xItanium2
+ latest glibc |
![]() |
| 2xi686 + latest glibc | ![]() |
| 2xi686 + SLES9 | ![]() |
| 2xi686 + FC3T2 | ![]() |
| 8xi686 + FC3T2 | ![]() |
| 8xi686 + SLES9 | ![]() |
| 4xPPC + SLES9 | ![]() |
| 24xItanium2 + BAS3 | ![]() |
| 24xItanium2 + latest glibc | ![]() |
| Configuration: |
NPTL-latest |
NPTL-SLES9 |
NPTL-FC3T2 |
FASTBOOT-FC3T2 |
FASTBOOT-SLES9 |
VERONE-SLES9 |
IA64-BAS3 |
IA64-latest |
| CPU: |
2xIA32 |
2xIA32 | 2xIA32 | 8xIA32 |
8xIA32 | 4xPPC |
24xItanium2 |
24xItanium2 |
| RAM: |
2GB |
2GB | 2GB | 32GB |
32GB | 4GB |
64GB |
64GB |
| kernel: |
2.6.8.1 |
2.6.5-7.97-smp |
2.6.8-1.541smp |
2.6.8-1.541smp |
2.6.5-7.97-bigsmp |
2.6.5-7.97-pseries64 |
2.6.7-BAS3V14 |
2.6.8.1 |
| libc: |
2004-10-11 |
NPTL
0.61 |
NPTL
2.3.3 |
NPTL
2.3.3 |
NPTL
0.61 |
NPTL
0.61 |
NPTL 0.60 |
2004-10-11 |
| Wait duration: |
6h00'21'' |
6h00'19'' | 6h00'30'' | 6h00'27'' | 6h00'16'' | 6h00'15'' | 6h00'05'' | 6h00'23'' |
| Free memory: |
DEC |
CONST |
DEC |
DEC |
CONST | CONST | DEC |
CONST |
| pthread_cond_init |
PASS
(6h00'01'') |
COMPIL |
COMPIL | COMPIL | COMPIL | COMPIL | COMPIL | PASS (6h00'00'') |
| pthread_cond_timedwait1 |
FAIL
(10'40'') |
COMPIL | COMPIL | COMPIL | COMPIL | COMPIL | COMPIL | PASS (6h00'00'') |
| pthread_cond_timedwait2 | FAIL
(1'40'') |
COMPIL | COMPIL | COMPIL | COMPIL | COMPIL | COMPIL | SEGV |
| pthread_cond_wait1 | FAIL
(4'03'') |
COMPIL | COMPIL | COMPIL | COMPIL | COMPIL | COMPIL | FAIL
(12'21'') |
| pthread_cond_wait2 | FAIL
(1'50'') |
COMPIL | COMPIL | COMPIL | COMPIL | COMPIL | COMPIL | FAIL
(4'42'') |
| pthread_cond_wait3 | FAIL
(6'11'') |
COMPIL | COMPIL | COMPIL | COMPIL | COMPIL | COMPIL | PASS (6h00'01'') |
| pthread_exit |
PASS
(6h00'47'') |
PASS (6h00'01'') | PASS (6h00'06'') | PASS (6h00'01'') | PASS (6h00'00'') | PASS (6h00'03'') | PASS (6h00'00'') | PASS (6h00'01'') |
| pthread_mutex_init | PASS (6h00'01'') | PASS (6h00'02'') | PASS (6h00'02'') | PASS (6h00'01'') | PASS (6h00'01'') | PASS (6h00'04'') | PASS (6h00'00'') | PASS (6h00'00'') |
| pthread_mutex_lock |
PASS (6h00'09'') | PASS (6h00'12'') | PASS (6h00'04'') | PASS (6h00'01'') | PASS (6h00'03'') | PASS (6h00'06'') | PASS (6h00'00'') | PASS (6h00'00'') |
| pthread_mutex_trylock |
FAIL (4'55'') | PASS (6h00'00'') | PASS (6h00'01'') | PASS (6h00'00'') | PASS (6h00'00'') | PASS (6h00'03'') | PASS (6h00'00'') | PASS (6h00'02'') |
| Charge on
the CPUs. |
![]() |
| Load
average (over 1, 5 and 15 min) |
![]() |
| Number of
tasks |
![]() |
Ensure that the tests are bug-free and can execute on different hardware and software.
This first goal has been partly fulfilled. In each run, at least 5 testcases are killed with a segmentation fault. This may be due to bugs in the system or in the tests themselves. Further analysis is needed here.
Nevertheless, no unexpected problem was found in the 15 functions from our priority-1 list.
Check the NPTL bugs, in several situations:
- bleeding-edge context, with vanilla kernel and glibc; or
standard OS distributions
- with large machines (many CPUs, many I/O, lot of memory)
- with several CPU architectures (i686, Power-PC, Itanium 2)
The second goal was disturbed by the fact that a lot of POSIX functionnalities have been recently added to the Linux kernel and to glibc (message queues for example), and most of the tested distributions are older than these additions -- and therefore a lot of header and execution problems appeared with those routines.
It is also worth to notice that it was not possible to compile the library for Power-PC linux (as the binutils package failed to install), and that the process was far less straight-forward on Itanium-2 than on i686 (needed to add some links, etc...).
On the other hand, the NPTL behaved very well on large machines, showing no scalability weakness.
Build a status on NPTL on main distributions,
on the same machine
(i686).
- Suse Linux Entreprise Server 9 (SLES9)
- RedHat Fedora Core 3 (test 2)
- RHEL3 (updated with NPTL support and recent kernel)
The conclusion for the third goal is that the more recent the distribution components (kernel, glibc), the better the results. Indeed, this is due to the NPTL being still under heavy development, with changes almost everyday; so a two-months delay between two Linux distributions leads to a large difference in results.
It is worth noting anyway that all the tested distributions have this header problem that prevented most of the scalability tests to be run; even if their NPTL binary file contains the functionnality. This is due to NPTL-only routines being unusable in default environment -- one need special linker flags to be able to use it (actually tests are linked to linuxthreads library at compilation time).
Author: Sébastien DECUGIS