[libdispatch-dev] Results from running libdispatch tests on Solaris using libkqueue and libdispatch with patches

Joakim Johansson jocke at tbricks.com
Tue Jul 27 03:33:57 PDT 2010


Hi,

If anyone is interested, the output of the working unit tests for libdispatch on Solaris 10 is attached below.

This is done with libdispatch r188 + the patches posted to the list the last few days built together with libkqueue r271 together with a few patches posted on the libkqueue list.

dispatch_priority seems to fail spuriously sometimes (even though it passed in the example below) and the starfish latency boundary test sometimes fails - this is on a Xeon 5500 box with 8 cores (of which 4 is HT).

When running the test suite, a very large number of threads is created for some tests:

386 during dispatch_priority
35 during dispatch_priority2
257 during starfish

It seems a bit excessive, what would be expected on such a configuration not having support for pthread_workqueue?

I will try it using Mark Heily’s userspace pthread_workqueue implementation as well and see how that works.

Joakim

——
node5:~/gcd/trunk/testing> ./dispatch_api

==================================================
[TEST] Dispatch (Public) API
[PID] 16120
==================================================

        Actual: 412850
        Expected: 412850
[PASS] dispatch_get_main_queue
node5:~/gcd/trunk/testing> ./dispatch_c99

==================================================
[TEST] Dispatch C99
[PID] 16135
==================================================

        Actual: 412830
        Expected: 412830
[PASS] dispatch_get_main_queue
node5:~/gcd/trunk/testing> ./dispatch_cascade

==================================================
[TEST] Dispatch Cascade
[PID] 16150
==================================================

maxcount = 2464
                                                                                
                  *                                                             
                  *                                                             
                  *                                                             
                  *                                                             
                  *                                                             
                  *                                                             
                  *                    *                                        
                  *                    *                                        
                  *                    *                                        
                  *                    *                                        
                  *                    *                                        
      *           *                    *                                        
      *           *                    *                                        
 *    *           *                    *                                        
 *    *           *                    *                                        
 * *  *           *     *              * *   *                                  
** *  *    * *    *     *              * *   *                                  
** *  *    * *    *     *              * *   *                                  
** *  *    ***    *     *              * *   *                                  
node5:~/gcd/trunk/testing> ./dispatch_debug

==================================================
[TEST] Dispatch Debug
[PID] 16165
==================================================

node5:~/gcd/trunk/testing> ./dispatch_priority

==================================================
[TEST] Dispatch Priority
[PID] 16180
==================================================

LOW: 64
****************************************                                        
DEFAULT: 60
**************************************                                          
HIGH: 68
*******************************************                                     
        Actual: 192
        Expected: 192
[PASS] blocks completed
        Actual: 64
        Expected: <68
[PASS] high priority precedence
node5:~/gcd/trunk/testing> ./dispatch_priority2

==================================================
[TEST] Dispatch Priority (Set Target Queue)
[PID] 16195
==================================================

        Actual: 413150
        Expected: 413150
[PASS] q[i]
        Actual: 415a10
        Expected: 415a10
[PASS] q[i]
        Actual: 415ac0
        Expected: 415ac0
[PASS] q[i]
LOW: 58
*************************************                                           
DEFAULT: 67
******************************************                                      
HIGH: 67
******************************************                                      
        Actual: 192
        Expected: 192
[PASS] blocks completed
        Actual: 58
        Expected: <67
[PASS] high priority precedence
node5:~/gcd/trunk/testing> ./dispatch_starfish

==================================================
[TEST] Dispatch Starfish
[PID] 16210
==================================================

lap: 10
count: 1000
delta: 832448041 ns
math: 415.808212 ns / lap
        Actual: 415
        Expected: <1000
[PASS] Latency
lap: 9
count: 1000
delta: 789866055 ns
math: 394.538489 ns / lap
        Actual: 394
        Expected: <1000
[PASS] Latency
lap: 8
count: 1000
delta: 976664387 ns
math: 487.844349 ns / lap
        Actual: 487
        Expected: <1000
[PASS] Latency
lap: 7
count: 1000
delta: 1625163520 ns
math: 811.769990 ns / lap
        Actual: 811
        Expected: <1000
[PASS] Latency
lap: 6
count: 1000
delta: 1527922124 ns
math: 763.197864 ns / lap
        Actual: 763
        Expected: <1000
[PASS] Latency
lap: 5
count: 1000
delta: 1293263436 ns
math: 645.985732 ns / lap
        Actual: 645
        Expected: <1000
[PASS] Latency
lap: 4
count: 1000
delta: 1755776727 ns
math: 877.011352 ns / lap
        Actual: 877
        Expected: <1000
[PASS] Latency
lap: 3
count: 1000
delta: 2045621497 ns
math: 1021.788960 ns / lap
        Actual: 1021
        Expected: <1000
[FAIL] Latency (dispatch_starfish.c:75)
        dispatch_starfish.c:75
lap: 2
count: 1000
delta: 997176198 ns
math: 498.090009 ns / lap
        Actual: 498
        Expected: <1000
[PASS] Latency
lap: 1
count: 1000
delta: 1204968309 ns
math: 601.882272 ns / lap
        Actual: 601
        Expected: <1000
[PASS] Latency
node5:~/gcd/trunk/testing> ./queue_finalizer

==================================================
[TEST] Dispatch Queue Finalizer
[PID] 16225
==================================================

        Actual: 413390
        Expected: 413390
[PASS] dispatch_queue_new
        Actual: 72f36169c7132463
        Expected: 72f36169c7132463
[PASS] finalizer ran
node5:~/gcd/trunk/testing> 



More information about the libdispatch-dev mailing list