From: NIIMI S. <sa...@us...> - 2007-10-10 21:36:53
|
Update of /cvsroot/sbcl/sbcl/src/runtime In directory sc8-pr-cvs8.sourceforge.net:/tmp/cvs-serv24725/src/runtime Modified Files: thread.c Log Message: 1.0.10.41: Remove unnecessary sched_yield() Don't call sched_yield() on thread creation and retirement, since the cost of sched_yield() is very high on FreeBSD 7. Index: thread.c =================================================================== RCS file: /cvsroot/sbcl/sbcl/src/runtime/thread.c,v retrieving revision 1.79 retrieving revision 1.80 diff -u -d -r1.79 -r1.80 --- thread.c 26 Sep 2007 11:24:02 -0000 1.79 +++ thread.c 10 Oct 2007 21:36:50 -0000 1.80 @@ -235,7 +235,6 @@ (os_vm_address_t) thread_to_be_cleaned_up->os_address; result = pthread_create(&thread, NULL, cleanup_thread, freeable); gc_assert(result == 0); - sched_yield(); } } @@ -368,10 +367,6 @@ int i; #endif -#ifdef CREATE_CLEANUP_THREAD - /* Give a chance for cleanup threads to run. */ - sched_yield(); -#endif /* May as well allocate all the spaces at once: it saves us from * having to decide what to do if only some of the allocations * succeed. SPACES must be page-aligned, since the GC expects the |