RE: Commenting out out_of_memory() function in __alloc_pages()

From: Abu M. Muttalib
Date: Tue Jul 11 2006 - 11:02:52 EST



I am not sure about x86, but on ia64, you would be very hard pressed
for this application to actually run you out of memory. With the
memset commented out, you would be allocating vmas, etc, but you
would not be actually putting pages behind those virtual addresses.

--------------------------- test1.c ----------------------------------

#include<stdio.h>
#include<string.h>

main()
{
char* buff;
int count;

count=0;
while(1)
{
printf("\nOOM Test: Counter = %d", count);
buff = (char*) malloc(1024);
// memset(buff,'\0',1024);
count++;

if (buff==NULL)
{
printf("\nOOM Test: Memory allocation error");
}
}
}

--------------------------- test1.c ----------------------------------

>The funniest part is that with memset commented out_of_memory observed,
contrary to my expectation.
>
>I don't know why. It shouldn't have. I am running the application on an ARM
target.

>Regards,
>Abu.

I fail to understand that why the OS doesn't return NULL as per man pages of
malloc. It insteat results in OOM.

~Abu.

-
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/