US 7,610,468 B2
Modified buddy system memory allocation
Prashanth Madisetti, San Jose, Calif. (US)
Assigned to Hewlett-Packard Development Company, L.P., Houston, Tex. (US)
Filed on Oct. 26, 2006, as Appl. No. 11/553,444.
Prior Publication US 2008/0104353 A1, May 01, 2008
Int. Cl. G06F 13/00 (2006.01); G06F 13/28 (2006.01)
U.S. Cl. 711—171 18 Claims
OG exemplary drawing
 
1. An apparatus, comprising:
a modified buddy system memory allocator configured to receive a request for a size of memory;
wherein the modified buddy system memory allocator is configured to identify a plurality of contiguous, differently-sized memory blocks that are each smaller than the size of memory from the request;
wherein the modified buddy system memory allocator is configured to allocate the plurality of contiguous, differently-sized memory blocks to satisfy the request for the size of memory,
wherein a first free block list comprises one or more memory blocks that are of a first size, wherein a second free block list comprises one or more memory blocks that are of a second size different than the first size;
wherein the plurality of contiguous, differently-sized memory blocks comprise a first memory block of the one or more memory blocks that are of the first size, wherein the plurality of contiguous, differently-sized memory blocks comprise a second memory block of the one or more memory blocks that are of the second size;
wherein the modified buddy system memory allocator is configured to remove the first memory block from the first free block list and the second memory block from the second free block list to allocate the plurality of contiguous, differently-sized memory blocks to an application that made the request for the size of memory,
wherein upon release of the plurality of contiguous, differently-sized memory blocks by the application, the modified buddy system memory allocator is to add the first memory block back into the first free block list and the second memory block back into the second free block list.