From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Han-Wen Nienhuys Newsgroups: gmane.lisp.guile.devel Subject: Re: lazy sweeping. Date: Mon, 29 Jul 2002 15:22:07 +0200 Sender: guile-devel-admin@gnu.org Message-ID: <15685.16767.525423.840619@meddo.cs.uu.nl> References: <15684.32520.154258.348830@blauw.xs4all.nl> <3D45404B.4010706@nada.kth.se> NNTP-Posting-Host: localhost.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Trace: main.gmane.org 1027948961 11326 127.0.0.1 (29 Jul 2002 13:22:41 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Mon, 29 Jul 2002 13:22:41 +0000 (UTC) Cc: guile-devel@gnu.org Return-path: Original-Received: from fencepost.gnu.org ([199.232.76.164]) by main.gmane.org with esmtp (Exim 3.33 #1 (Debian)) id 17ZATv-0002wY-00 for ; Mon, 29 Jul 2002 15:22:39 +0200 Original-Received: from localhost ([127.0.0.1] helo=fencepost.gnu.org) by fencepost.gnu.org with esmtp (Exim 3.35 #1 (Debian)) id 17ZAUL-0008QF-00; Mon, 29 Jul 2002 09:23:05 -0400 Original-Received: from aurora.cs.uu.nl ([131.211.80.20] helo=mail.cs.uu.nl) by fencepost.gnu.org with esmtp (Exim 3.35 #1 (Debian)) id 17ZATQ-0008Mp-00 for ; Mon, 29 Jul 2002 09:22:08 -0400 Original-Received: from meddo.cs.uu.nl.cs.uu.nl (meddo.cs.uu.nl [131.211.80.91]) by mail.cs.uu.nl (Postfix) with ESMTP id 97A241CB253; Mon, 29 Jul 2002 15:22:07 +0200 (CEST) Original-To: Mikael Djurfeldt In-Reply-To: <3D45404B.4010706@nada.kth.se> X-Mailer: VM 7.03 under Emacs 21.2.1 Errors-To: guile-devel-admin@gnu.org X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.0.11 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Developers list for Guile, the GNU extensibility library List-Unsubscribe: , List-Archive: Xref: main.gmane.org gmane.lisp.guile.devel:882 X-Report-Spam: http://spam.gmane.org/gmane.lisp.guile.devel:882 djurfeldt@nada.kth.se writes: > > * Lazy sweeping naturally complements multi-threaded use: whenever a > > thread runs out of free cells, we can simply sweep a few (say 512) > > cells, and return that for private use by that thread. > > > [Without having studied your code:] Is it enough to lock one mutex for the > joint apparatus of sweeping and marking before doing the lazy sweep > in order to avoid interference between threads? (One would not want to > stop all threads before sweeping 512 cells...) I think that the only the allocation has to be locked, i.e. if two threads run out of space at the same time, only one can collect new cells. For marking, all threads should be stopped. -- Han-Wen Nienhuys | hanwen@cs.uu.nl | http://www.cs.uu.nl/~hanwen/ _______________________________________________ Guile-devel mailing list Guile-devel@gnu.org http://mail.gnu.org/mailman/listinfo/guile-devel