From mboxrd@z Thu Jan 1 00:00:00 1970 From: Greg Ungerer Subject: Re: [Bug #11342] Linux 2.6.27-rc3: kernel BUG at mm/vmalloc.c - bisected Date: Wed, 27 Aug 2008 11:31:20 +1000 Message-ID: <48B4AE68.4040205@snapgear.com> References: <200808261111.19205.rusty@rustcorp.com.au> <20080826183051.GB10925@cs181140183.pp.htv.fi> <20080826205916.GB11734@cs181140183.pp.htv.fi> <48B4A577.3020303@snapgear.com> Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: Sender: linux-embedded-owner@vger.kernel.org List-ID: Content-Type: text/plain; charset="us-ascii"; format="flowed" To: Parag Warudkar Cc: Linus Torvalds , Adrian Bunk , Rusty Russell , "Alan D. Brunelle" , "Rafael J. Wysocki" , Linux Kernel Mailing List , Kernel Testers List , Andrew Morton , Arjan van de Ven , Ingo Molnar , linux-embedded@vger.kernel.org Parag Warudkar wrote: > On Tue, Aug 26, 2008 at 8:53 PM, Greg Ungerer wrote: > >> I have some simple devices (network access/routers) with 8MB of RAM, >> at power up not really being configured to do anything running 25 >> processes. (Heck there is over 10 kernel processes running!). Configure >> some interfaces and services and that will easily push past 40. >> I'd be happy with a 160k saving :-) >> > > So you really need to run all 25 processes on that 8Mb box? Yes, of course. Considerable effort has been put into running a minimal set of processes (that still for fills the required function set of this device). > (For reference even the NGW100 development board comes with 16Mb RAM). Lots of development boards are fitted with lots of RAM. And the pressure will still be on in _real_ products to reduce the RAM footprint as much as possible. There are exceptions but generally less is cheaper. Simple economics really. > Even if you do need those all 25 processes on the 8Mb box, fixing the > memory usage of those user space hogs is lot better than trying to > save 160Kb in kernel stacks. Yep, been done too. You don't squeeze a lot into these smaller devices without looking at everything in it. > Last I looked, user space wasn't particularly frugal with memory usage. Then you haven't looked in the right places :-) There are plenty of choices for making things small in user space. Simple stuff like using uClibc, busybox, etc. In this specific example things like /bin/init is 10k, /bin/inetd is 10k, /bin/crond is 11k, etc. (Ofcourse it is a shared uClibc setup, uClibc is ~300k). And XIP can help out here too. Regards Greg ------------------------------------------------------------------------ Greg Ungerer -- Chief Software Dude EMAIL: gerg@snapgear.com Secure Computing Corporation PHONE: +61 7 3435 2888 825 Stanley St, FAX: +61 7 3891 3630 Woolloongabba, QLD, 4102, Australia WEB: http://www.SnapGear.com