2011/5/26 Ozkan Sezer <seze...@gmail.com>: > On Thu, May 26, 2011 at 11:42 AM, Kai Tietz <ktiet...@googlemail.com> wrote: >> 2011/5/25 Dongsheng Song <dongsheng.s...@gmail.com>: >>> After I review the source, the failure was caused by sem_init only >>> support PTHREAD_PROCESS_PRIVATE, >>> but benchtest.c required PTHREAD_PROCESS_SHARED. >>> >>> Here is my patch. >>> >>> On Wed, May 25, 2011 at 22:11, Dongsheng Song <dongsheng.s...@gmail.com> >>> wrote: >>>> >>>> Hi, >>>> >>>> With the attached patch, I can building and testing WinPthread, but >>>> benchmark testing 5th failed on XP SP3: >>>> >>>> $ cd winpthreads/tests >>>> $ make clean GC >>>> ... >>>> ALL TESTS PASSED! Congratulations! >>>> >>>> $ make GC-bench >>>> Copying .././outlib/libpthreadGC2-32.dll.a >>>> Copying .././outlib/pthreadGC2-32.dll >>>> make -k TEST=GC CC=-gcc XXCFLAGS="-D__CLEANUP_C" XXLIBS="" all-bench >>>> make[1]: Entering directory >>>> `/o/vcs/svn/mingw-w64/experimental/winpthreads/tests >>>> ' >>>> Copying ../include/pthread.h >>>> Copying ../include/semaphore.h >>>> Running benchtest1 >>>> ./benchtest1 >>>> ============================================================================= >>>> >>>> Lock plus unlock on an unlocked mutex. >>>> 10000000 iterations >>>> >>>> Test Total(msec) >>>> average(usec) >>>> ----------------------------------------------------------------------------- >>>> Dummy call x 2 46 >>>> 0.005 >>>> Dummy call -> Interlocked with cond x 2 344 >>>> 0.034 >>>> InterlockedOp x 2 328 >>>> 0.033 >>>> Simple Critical Section 360 >>>> 0.036 >>>> Old PT Mutex using a Critical Section (WNT) 406 >>>> 0.041 >>>> Old PT Mutex using a Win32 Mutex (W9x) 9969 >>>> 0.997 >>>> ............................................................................. >>>> PTHREAD_MUTEX_DEFAULT (W9x,WNT) 12640 >>>> 1.264 >>>> PTHREAD_MUTEX_NORMAL (W9x,WNT) 12610 >>>> 1.261 >>>> PTHREAD_MUTEX_ERRORCHECK (W9x,WNT) 12656 >>>> 1.266 >>>> PTHREAD_MUTEX_RECURSIVE (W9x,WNT) 12969 >>>> 1.297 >>>> ============================================================================= >>>> Done >>>> Compiling benchtest2.exe >>>> -gcc -O3 -UNDEBUG -Wall -D__CLEANUP_C benchlib.o -o benchtest2.exe >>>> benchtest2.c >>>> -I./include -L../outlib -lpthreadGC2-32 -lsupc++ >>>> Running benchtest2 >>>> ./benchtest2 >>>> ============================================================================= >>>> >>>> Lock plus unlock on a locked mutex. >>>> 100000 iterations, four locks/unlocks per iteration. >>>> >>>> Test Total(msec) >>>> average(usec) >>>> ----------------------------------------------------------------------------- >>>> Simple Critical Section 375 >>>> 0.938 >>>> Old PT Mutex using a Critical Section (WNT) 437 >>>> 1.093 >>>> Old PT Mutex using a Win32 Mutex (W9x) 500 >>>> 1.250 >>>> ............................................................................. >>>> PTHREAD_MUTEX_DEFAULT (W9x,WNT) 640 >>>> 1.600 >>>> PTHREAD_MUTEX_NORMAL (W9x,WNT) 609 >>>> 1.523 >>>> PTHREAD_MUTEX_ERRORCHECK (W9x,WNT) 656 >>>> 1.640 >>>> PTHREAD_MUTEX_RECURSIVE (W9x,WNT) 594 >>>> 1.485 >>>> ============================================================================= >>>> Done >>>> Compiling benchtest3.exe >>>> -gcc -O3 -UNDEBUG -Wall -D__CLEANUP_C benchlib.o -o benchtest3.exe >>>> benchtest3.c >>>> -I./include -L../outlib -lpthreadGC2-32 -lsupc++ >>>> Running benchtest3 >>>> ./benchtest3 >>>> ============================================================================= >>>> >>>> Trylock on a locked mutex. >>>> 10000000 iterations. >>>> >>>> Test Total(msec) >>>> average(usec) >>>> ----------------------------------------------------------------------------- >>>> Old PT Mutex using a Critical Section (WNT) 296 >>>> 0.030 >>>> Old PT Mutex using a Win32 Mutex (W9x) 5375 >>>> 0.537 >>>> ............................................................................. >>>> PTHREAD_MUTEX_DEFAULT (W9x,WNT) 1297 >>>> 0.130 >>>> PTHREAD_MUTEX_NORMAL (W9x,WNT) 1297 >>>> 0.130 >>>> PTHREAD_MUTEX_ERRORCHECK (W9x,WNT) 1297 >>>> 0.130 >>>> PTHREAD_MUTEX_RECURSIVE (W9x,WNT) 1297 >>>> 0.130 >>>> ============================================================================= >>>> Done >>>> Compiling benchtest4.exe >>>> -gcc -O3 -UNDEBUG -Wall -D__CLEANUP_C benchlib.o -o benchtest4.exe >>>> benchtest4.c >>>> -I./include -L../outlib -lpthreadGC2-32 -lsupc++ >>>> Running benchtest4 >>>> ./benchtest4 >>>> ============================================================================= >>>> Trylock plus unlock on an unlocked mutex. >>>> 10000000 iterations. >>>> >>>> Test Total(msec) >>>> average(usec) >>>> ----------------------------------------------------------------------------- >>>> Old PT Mutex using a Critical Section (WNT) 407 >>>> 0.041 >>>> Old PT Mutex using a Win32 Mutex (W9x) 10031 >>>> 1.003 >>>> ............................................................................. >>>> PTHREAD_MUTEX_DEFAULT (W9x,WNT) 12797 >>>> 1.280 >>>> PTHREAD_MUTEX_NORMAL (W9x,WNT) 12828 >>>> 1.283 >>>> PTHREAD_MUTEX_ERRORCHECK (W9x,WNT) 12797 >>>> 1.280 >>>> PTHREAD_MUTEX_RECURSIVE (W9x,WNT) 12937 >>>> 1.294 >>>> ============================================================================= >>>> Done >>>> Compiling benchtest5.exe >>>> -gcc -O3 -UNDEBUG -Wall -D__CLEANUP_C benchlib.o -o benchtest5.exe >>>> benchtest5.c >>>> -I./include -L../outlib -lpthreadGC2-32 -lsupc++ >>>> Running benchtest5 >>>> ./benchtest5 >>>> ============================================================================= >>>> >>>> Operations on a semaphore. >>>> 1000000 iterations >>>> >>>> Test Total(msec) >>>> average(usec) >>>> ----------------------------------------------------------------------------- >>>> W32 Post with no waiters 454 >>>> 0.454 >>>> W32 Wait without blocking 515 >>>> 0.515 >>>> Assertion failed: (sem_init(&sema, 0, 0) == 0), file benchtest5.c, line 134 >>>> make[1]: *** [benchtest5.bench] Error 1 >>>> make[1]: Target `all-bench' not remade because of errors. >>>> make[1]: Leaving directory >>>> `/o/vcs/svn/mingw-w64/experimental/winpthreads/tests' >>>> >>>> make: *** [GC-bench] Error 2 >>>> >> >> Thanks for the patches. I will apply them next days together with >> license-disclaimer change. >> >> Regards, >> Kai > > Off-topic: IIRC, Dongsheng's msvcr90 patch was OK'ed. Is it applied? > > -- > O.S.
Hmm, AFAIR (but I might be wrong) you applied it to branch and trunk, isn't it? Kai ------------------------------------------------------------------------------ vRanger cuts backup time in half-while increasing security. With the market-leading solution for virtual backup and recovery, you get blazing-fast, flexible, and affordable data protection. Download your free trial now. http://p.sf.net/sfu/quest-d2dcopy1 _______________________________________________ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public