See my report on what happens on a 2GB box with .16 or .17rc1. Buffers are
still not released as they should.
http://marc.theaimsgroup.com/?l=linux-kernel&m=100849985518543&w=2
http://marc.theaimsgroup.com/?l=linux-kernel&m=100857274818037&w=2
Perhaps someone could test on x86 with less memory (I can do that later, but
right now I don't have any throw-away box with a recent kernel on it). On ia64
with 2GB+256MB swap this results in OOM when trying to allocate and use
1.7GB, albeit the real mem usage (-buffers) is less than 200MB.
Basically the test is
fill cache
find / -type f -exec cat {} \; > /dev/null
updatedb
then run this with suitable argument:
#include <stdio.h>
#include <stdlib.h>
#define BKSP "\010\010\010\010\010\010"
int main(int argc, char** argv)
{
unsigned long megs = 512;
unsigned long size, i;
unsigned char* buf;
if (argc > 1) megs = atol(argv[1]);
size = megs * 1024 * 1024;
fprintf(stderr, "Allocating %lu megs...\n\n ", megs);
buf = malloc(size);
if (!buf)
{
fprintf(stderr, "malloc(%lu", size);
perror(")");
exit(-1);
}
for (i = 0; i < size; i++)
{
buf[i] = 42;
if ((i + 1) % (1024 * 1024) == 0)
fprintf(stderr, BKSP "%4uMB", (i + 1) / 1024 / 1024);
}
fprintf(stderr, "\n Success.\n");
return 1;
}
-- v --
v@iki.fi
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/