Re: [PATCH] slub: reduce total stack usage of slab_err & object_err

Christoph Lameter
2008-09-30T15:40:22Z

Richard Kennedy wrote:
> reduce the total stack usage of slab_err & object_err.
>
> Introduce a new function to display a simple slab bug message, and call
> this when vprintk is not needed.

You could simply get rid of the 100 byte buffer by using vprintk? Same method
could be used elsewhere in the kernel and does not require additional
functions. Compiles, untestted.

Subject: Slub reduce slab_bug stack usage by using vprintk

Signed-off-by: Christoph Lameter <cl@linux-foundation.org>

Index: linux-2.6/mm/slub.c
===================================================================
--- linux-2.6.orig/mm/slub.c 2008-09-30 10:34:40.000000000 -0500
+++ linux-2.6/mm/slub.c 2008-09-30 10:36:10.000000000 -0500
@@ -422,15 +422,14 @@
static void slab_bug(struct kmem_cache *s, char *fmt, ...)
{
va_list args;
- char buf[100];

va_start(args, fmt);
- vsnprintf(buf, sizeof(buf), fmt, args);
- va_end(args);
printk(KERN_ERR "========================================"
"=====================================\n");
- printk(KERN_ERR "BUG %s: %s\n", s->name, buf);
- printk(KERN_ERR "----------------------------------------"
+ printk(KERN_ERR "BUG %s: ", s->name);
+ vprintk(fmt, args);
+ va_end(args);
+ printk(KERN_ERR "\n----------------------------------------"
"-------------------------------------\n\n");
}