Re: slab hang on boot

From: Andrew Morton
Date: Mon May 14 2007 - 20:16:23 EST


On Mon, 14 May 2007 16:46:17 -0700 (PDT)
Christoph Lameter <clameter@xxxxxxx> wrote:

> -#define KMALLOC_SHIFT_HIGH 25
> +#define KMALLOC_SHIFT_HIGH ((MAX_ORDER + PAGE_SHIFT) =< 25 ? \
> + MAX_ORDER + PAGE_SHIFT - 1 : 25)

Would prefer to see a lot more parentheses in there. Who knows what the arch
is using for MAX_ORDER and PAGE_SHIFT.

> #if !defined(CONFIG_MMU) || NR_CPUS > 512 || MAX_NUMNODES > 256
> #define KMALLOC_SHIFT_HIGH 20
> @@ -86,6 +87,9 @@ static inline int kmalloc_index(int size
> */
> WARN_ON_ONCE(size == 0);
>
> + if (size >= (1UL << KMALLOC_SHIFT_HIGH))
> + return -1;
> +

`size' is `int'. Deliberately comparing it to an unsigned long seems
unpointful.

Arguably, `size' should be size_t.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/