From owner-freebsd-hackers@FreeBSD.ORG Mon Nov 7 09:16:02 2011 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E534E106566C for ; Mon, 7 Nov 2011 09:16:02 +0000 (UTC) (envelope-from joerg@britannica.bec.de) Received: from mo-p00-ob6.rzone.de (mo-p00-ob6.rzone.de [IPv6:2a01:238:20a:202:53f0::1]) by mx1.freebsd.org (Postfix) with ESMTP id 7F6E68FC1A for ; Mon, 7 Nov 2011 09:16:02 +0000 (UTC) X-RZG-AUTH: :JiIXek6mfvEEUpFQdo7Fj1/zg48CFjWjQv0cW+St/nW/auYssSp3lvXv2GOaWqU= X-RZG-CLASS-ID: mo00 Received: from britannica.bec.de (ip-2-207-130-214.web.vodafone.de [2.207.130.214]) by post.strato.de (mrclete mo5) (RZmta 26.10 AUTH) with (DHE-RSA-AES128-SHA encrypted) ESMTPA id Y01c93nA79CuMO for ; Mon, 7 Nov 2011 10:15:49 +0100 (MET) Received: by britannica.bec.de (sSMTP sendmail emulation); Mon, 07 Nov 2011 10:15:44 +0100 Date: Mon, 7 Nov 2011 10:15:44 +0100 From: Joerg Sonnenberger To: freebsd-hackers@freebsd.org Message-ID: <20111107091544.GB9484@britannica.bec.de> Mail-Followup-To: freebsd-hackers@freebsd.org References: <20111105223021.GA52651@freebsd.org> <20111107074624.GB91353@server.vk2pj.dyndns.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20111107074624.GB91353@server.vk2pj.dyndns.org> User-Agent: Mutt/1.5.21 (2010-09-15) Subject: Re: reducing compiler instances during buildkernel X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Nov 2011 09:16:03 -0000 On Mon, Nov 07, 2011 at 06:46:24PM +1100, Peter Jeremy wrote: > On 2011-Nov-05 22:30:21 +0000, Alexander Best wrote: > >wouldn't it be possible to somehow spawn N gcc or clang instances > >(make -jN buildkernel) and then pipe the src to one of those N instances? > >just like with something like multics N processes were started and then people > >used the job control language to load binaries into those processes. > > This is likely to require very non-trivial changes to gcc or clang. > The major issue is that the process needs to be in a known initial > state before beginning a compile - and it's very unlikely that the > compiler cleans itself up enough to return to that state. Actually, the real problem is that a full cleanup is likely to be as expensive as fork+exec. Joerg