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

Joakim Johansson jocke at tbricks.com
Fri Jul 30 02:44:57 PDT 2010


Thanks, I've been running with the userspace libpthread_workqueue implementation with better results - it takes significantly more effort to make it fail then, see attached test runs for a typical (successful) run as well as one where it failed (I had to run 20+ iterations to make it fail though). 

Also, the "blocks completed" test additionally failed due to a bug in the test outlined in my other mail "Subject: [libdispatch-dev] PATCH - bugfix for dispatch_priority.c spurious failures where actual blocks completed != expected".

That one should probably fail on Mac OS X / FreeBSD / Linux as well from time to time.

Cheers,

Joakim

Successful run:
-------------------
node5:~/gcd/trunk> testing/dispatch_priority

==================================================
[TEST] Dispatch Priority
[PID] 6495
==================================================

LOW: 11
*******                                                                         
DEFAULT: 53
**********************************                                              
HIGH: 128
********************************************************************************
	Actual: 192
	Expected: 192
[PASS] blocks completed
	Actual: 11
	Expected: <128
[PASS] high priority precedence
node5:~/gcd/trunk> testing/dispatch_priority



Failed run:
-------------------
node5:~/gcd/trunk> testing/dispatch_priority

==================================================
[TEST] Dispatch Priority
[PID] 6645
==================================================

LOW: 76
************************************************                                
DEFAULT: 47
******************************                                                  
HIGH: 69
********************************************                                    
	Actual: 192
	Expected: 192
[PASS] blocks completed
	Actual: 76
	Expected: <69
[FAIL] high priority precedence (dispatch_priority.c:83)
	dispatch_priority.c:83
node5:~/gcd/trunk> testing/dispatch_priority



On 30 jul 2010, at 11.19, Robert Watson wrote:

> 
> On Tue, 27 Jul 2010, Joakim Johansson wrote:
> 
>> 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).
> 
> The priority regression tests fail because libdispatch doesn't know how to propagate queue priority to thread priority when using the thread pool model rather than pthread work queues.  So this is a bug in GCD that doesn't manifest on Mac OS X as it uses a different kernel feature footprint.  It would be nice to (a) fix this problem in GCD and (b) get pthread workqueue compatibility on various operating systems.
> 
> Stacey seems to have gone quiet lately, but I'm CCing him anyway. :-)
> 
> Robert



More information about the libdispatch-dev mailing list