I'm the author of a malloc debugger (http://fscked.org/proj/njamd.shtml), and I was trying to pin down some bugs people were reporting about not being able to debug large apps despite having plenty of ram. Eventually I paired it down to the Linux mm system rejecting map requests if the number of mappings exceeded MAX_MAP_COUNT. In include/linux/sched.h, it is defined as 65536, and the comment seems to indicate that this was an arbitrary choice. Well it turns out that my malloc debugger was hitting this limit for behemoths such as Mozilla. Would it be possible to change this to something less arbitrary, like ULONG_MAX>>PAGE_SHIFT (the number of pages in the address space)? I realize that it is probably a bit pretentious of me to ask MAX_MAP_COUNT to be changed for just my debugger, but I think that the number of pages in the address space is a much better choice than some arbitrarily chosen magic number, no? Here's the patch, which seems to introduce no problems on my system during a simple stress test to exceed the old limit. diff -ur linux.old/include/linux/sched.h linux-2.4.0test8/include/linux/sched.h --- linux.old/include/linux/sched.h Sun Oct 1 05:06:20 2000 +++ linux-2.4.0test8/include/linux/sched.h Sun Oct 1 04:02:31 2000 @@ -187,8 +187,9 @@ { NULL, } \ } -/* Maximum number of active map areas.. This is a random (large) number */ -#define MAX_MAP_COUNT (65536) +/* Maximum number of active map areas. This is the number of pages that fit in + * the address space */ +#define MAX_MAP_COUNT (ULONG_MAX >> PAGE_SHIFT) /* Number of map areas at which the AVL tree is activated. This is arbitrary. */ #define AVL_MIN_MAP_COUNT 32 -- Mike Perry http://so.fscked.org - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] Please read the FAQ at http://www.tux.org/lkml/