Use a dedicated heap to allocate everything that is needed during heap growth.
This eliminates the edge case where the grow thread would not be able to create a new area because no memory could be allocated for the allocation of the area. As this case cannot happen anymore, it is also not possible to deadlock in memalign. Therefore the timeout (which would only have prevented the deadlock but wouldn't have solved the edge case anyway) has been removed too. Add options to dump the dedicated grow heap and to only print the current heap count to the "heap" debugger command. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23994 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -11,10 +11,11 @@
|
||||
#include <OS.h>
|
||||
|
||||
// allocate 16MB initial heap for the kernel
|
||||
#define INITIAL_HEAP_SIZE 16 * 1024 * 1024
|
||||
#define INITIAL_HEAP_SIZE 16 * 1024 * 1024
|
||||
// grow by another 8MB each time the heap runs out of memory
|
||||
#define HEAP_GROW_SIZE 8 * 1024 * 1024
|
||||
|
||||
#define HEAP_GROW_SIZE 8 * 1024 * 1024
|
||||
// allocate a dedicated 2MB area for dynamic growing
|
||||
#define HEAP_DEDICATED_GROW_SIZE 2 * 1024 * 1024
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
Reference in New Issue
Block a user