On Thu, May 26, 2011 at 2:34 PM, Ozkan Sezer <seze...@gmail.com> wrote: > On Thu, May 26, 2011 at 1:27 PM, Kai Tietz <ktiet...@googlemail.com> wrote: >> 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? > > I certainly did not :) > > If it is OK'ed, I will need the patch file again if I will be the one to apply > it. (and to trunk only, the release branch doesn't have msvcr90 defs.) > >> >> Kai > > -- > O.S. >
OK, applied the msvcr90 patch at rev. 4180 -- O.S. ------------------------------------------------------------------------------ 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