[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20080107113831.0865cf5e.akpm@linux-foundation.org>
Date: Mon, 7 Jan 2008 11:38:31 -0800
From: Andrew Morton <akpm@...ux-foundation.org>
To: Christoph Lameter <clameter@....com>
Cc: kamalesh@...ux.vnet.ibm.com, linux-kernel@...r.kernel.org,
bunk@...nel.org, apw@...dowen.org, balbir@...ux.vnet.ibm.com
Subject: Re: Linux 2.6.24-rc7 Build-Failure at
__you_cannot_kmalloc_that_much
On Mon, 7 Jan 2008 10:31:53 -0800 (PST)
Christoph Lameter <clameter@....com> wrote:
> On Mon, 7 Jan 2008, Andrew Morton wrote:
>
> > > : undefined reference to `__you_cannot_kmalloc_that_much'
>
> There is also a kernel.org bugzilla for this at
>
> http://bugzilla.kernel.org/show_bug.cgi?id=9669
> For some reason my adds to this do not show up.
>
> In both cases we have a
>
> k(z/m)alloc(sizeof(*pointer), ...)
>
> that is for some reason failing. I guess what happens is that the function
> in which this occurs is too complex for gcc 3.2. Thus it stops constant
> folding the sizeof(*pointer) in the complex inline-if-cascade that SLAB
> needs to determine the cache and does not eliminate the
> __you_cannot_kmalloc_that_much branch().
>
> SLUB in that case just puts a series of if comparisions in the code. This
> means compilation does not fail but a large amount of code is generated.
ug. Silent and nasty.
> We could replace the __you_cannot_kmalloc_that_much() with a BUG()
> statement so we have the same effect in SLAB?
I think it'd be better to just put suitable workarounds at the offending
callsites. We've only seen three or four of them in several months.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists