Re: 2.6 /proc/interrupts fails on systems with many CPUs
From: Manfred Spraul
Date: Tue Nov 11 2003 - 13:17:30 EST
Erik wrote:
/* don't ask for more than the kmalloc() max size, currently 128 KB */
if (size > 128 * 1024)
size = 128 * 1024;
- buf = kmalloc(size, GFP_KERNEL);
+ buf = __vmalloc(size, GFP_KERNEL, PAGE_KERNEL);
kmalloc needs a contiguous memory block. Thus after a long runtime,
large kmalloc calls can fail due to fragmentation. I'd prefer if you
switch to vmalloc after 2*PAGE_SIZE.
Or switch to a line based seq file iterator, then you wouldn't need the
huge buffer.
--
Manfred
-
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/