From 9ea3ca84ac0fb5dd834cd58c79dd47f255233b07 Mon Sep 17 00:00:00 2001 From: NIIMI Satoshi Date: Wed, 10 Oct 2007 21:36:49 +0000 Subject: [PATCH] 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. --- src/runtime/thread.c | 5 ----- version.lisp-expr | 2 +- 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/src/runtime/thread.c b/src/runtime/thread.c index 7c85b3e..9044dfd 100644 --- a/src/runtime/thread.c +++ b/src/runtime/thread.c @@ -235,7 +235,6 @@ create_cleanup_thread(struct thread *thread_to_be_cleaned_up) (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 @@ create_thread_struct(lispobj initial_function) { 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 diff --git a/version.lisp-expr b/version.lisp-expr index a66324a..f10cb66 100644 --- a/version.lisp-expr +++ b/version.lisp-expr @@ -17,4 +17,4 @@ ;;; checkins which aren't released. (And occasionally for internal ;;; versions, especially for internal versions off the main CVS ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".) -"1.0.10.40" +"1.0.10.41" -- 1.7.10.4