From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Gd6HH-0005AL-Nh for qemu-devel@nongnu.org; Thu, 26 Oct 2006 10:32:15 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Gd6HG-00059b-Rt for qemu-devel@nongnu.org; Thu, 26 Oct 2006 10:32:15 -0400 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Gd6HG-00059Y-L1 for qemu-devel@nongnu.org; Thu, 26 Oct 2006 10:32:14 -0400 Received: from [199.232.41.67] (helo=mx20.gnu.org) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA:32) (Exim 4.52) id 1Gd6HG-0005FY-KQ for qemu-devel@nongnu.org; Thu, 26 Oct 2006 10:32:14 -0400 Received: from [71.162.243.5] (helo=grelber.thyrsus.com) by mx20.gnu.org with esmtp (Exim 4.52) id 1Gd6HF-000173-6l for qemu-devel@nongnu.org; Thu, 26 Oct 2006 10:32:13 -0400 From: Rob Landley Subject: Re: [Qemu-devel] Config file support Date: Thu, 26 Oct 2006 10:31:46 -0400 References: <557987790.20061025031831@gmail.com> <200610251601.50491.paul@codesourcery.com> In-Reply-To: <200610251601.50491.paul@codesourcery.com> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200610261031.47226.rob@landley.net> Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paul Brook Cc: qemu-devel@nongnu.org On Wednesday 25 October 2006 11:01 am, Paul Brook wrote: > > Oh, c'mon, Rob! I really didn't want to ask Paul Brook that, but > > sure you'll fix my cluelessness right here, right now - tell me, tell me, > > why Linux has dynamic-loadable modules support, which clueless passers-by > > like me call "plugins"? It must be closed-source diversion, no? > > Linux has genuine reasons for wanting modules. > Kernel size is important because (a) it has to be loaded by the bootloader, > often from a small, slow device (eg. floppy, flash or network). > (b) The whole kernel is permanently locked into ram. It you've ever tried to > build a kernel with everything enable you'll know the result is unreasonably > large. Modules allow the same kernel to work on a wide variety of large and > small machines. It also avoids a reboot cycle when you want to debug small changes to drivers (assuming you didn't crash). Restarting a userspace app (like qemu) takes five seconds. Restarting the kernel can take a minute and change, and often involves pressing a button on a machine that's shoved under a desk and hard to get at. I've found avoiding the reboot cycle to be a nice thing with qemu (and User Mode Linux), but alas you can't test a driver for hardware qemu doesn't emulate. Nice for filesystems and VM stuff, though... Rob -- "Perfection is reached, not when there is no longer anything to add, but when there is no longer anything to take away." - Antoine de Saint-Exupery