From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on yquem.inria.fr X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=AWL autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from discorde.inria.fr (discorde.inria.fr [192.93.2.38]) by yquem.inria.fr (Postfix) with ESMTP id C154BBC6B for ; Fri, 17 Aug 2007 21:03:49 +0200 (CEST) Received: from furbychan.cocan.org (furbychan.cocan.org [80.68.91.176]) by discorde.inria.fr (8.13.6/8.13.6) with ESMTP id l7HJ3nrN006383 (version=TLSv1/SSLv3 cipher=EDH-RSA-DES-CBC3-SHA bits=168 verify=NO) for ; Fri, 17 Aug 2007 21:03:49 +0200 Received: from rich by furbychan.cocan.org with local (Exim 3.35 #1 (Debian)) id 1IM76i-0002le-00; Fri, 17 Aug 2007 20:03:40 +0100 Date: Fri, 17 Aug 2007 20:03:40 +0100 To: Shivkumar Chandrasekaran Cc: caml-list@inria.fr Subject: Re: [Caml-list] Stopping and continuing GC Message-ID: <20070817190340.GA10560@furbychan.cocan.org> References: <20070817.100453.94562786.garrigue@math.nagoya-u.ac.jp> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.9i From: Richard Jones X-Miltered: at discorde with ID 46C5F115.000 by Joe's j-chkmail (http://j-chkmail . ensmp . fr)! X-Spam: no; 0.00; shivkumar:01 compaction:01 lablgtk:01 byterun:01 wrote:01 assert:01 heap:01 heap:01 caml-list:01 precisely:01 caml:02 caml:02 otoh:02 float:03 overhead:04 On Fri, Aug 17, 2007 at 09:44:14AM -0700, Shivkumar Chandrasekaran wrote: > Are you saying that the "major sweeps" (whatever Gc.major does) are > also turned off.... No. > OTOH, the manual says: > > >If max_overhead >= 1000000, compaction is never triggered. > > If lablGTK has set this, then presumably calling Gc.major will have > no impact. Precisely. If you grab the actual code (byterun/compact.c) you will see: void caml_compact_heap_maybe (void) { float fw, fp; Assert (caml_gc_phase == Phase_idle); if (caml_percent_max >= 1000000) return; The GC runs in phases (and slices of work within some phases) and will call this function when it has just finished a complete round of collecting the major heap. However this function won't do anything if that max_overhead setting is as above. Rich. -- Richard Jones Red Hat