From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from relay.sgi.com (netops-testserver-4-out.sgi.com [192.48.171.29]) by ozlabs.org (Postfix) with ESMTP id 99C18DDE2C for ; Thu, 17 May 2007 03:41:51 +1000 (EST) Date: Wed, 16 May 2007 10:41:49 -0700 (PDT) From: Christoph Lameter To: Geert Uytterhoeven Subject: Re: Slab allocators: Define common size limitations In-Reply-To: Message-ID: References: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Cc: linux-mm@kvack.org, Andrew Morton , Linux Kernel Development , Linux/PPC Development List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , On Wed, 16 May 2007, Geert Uytterhoeven wrote: > On Tue, 15 May 2007, Christoph Lameter wrote: > > So define a common maximum size for kmalloc. For conveniences sake > > we use the maximum size ever supported which is 32 MB. We limit the maximum > > size to a lower limit if MAX_ORDER does not allow such large allocations. > > What are the changes a large allocation will actually succeed? > Is there an alignment rule for large allocations? > > E.g. for one of the PS3 drivers I need a physically contiguous 256 KiB-aligned > block of 256 KiB. Currently I'm using __alloc_bootmem() for that, but maybe > kmalloc() becomes a suitable alternative now? The chance of succeeding drops with the time that the system has been running. Typically these large allocs are used when the system is brought up. Maybe we will be able to successfully allocate these even after memory has gotten significant use when Mel's antifrag/defrag work has progressed more.