[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Replacing init_alloc_aligned with a bitmapped allocator
From: |
Karim Allah Ahmed |
Subject: |
Replacing init_alloc_aligned with a bitmapped allocator |
Date: |
Wed, 14 Apr 2010 13:11:05 +0200 |
The current "init_alloc_aligned" function will skip regions of memory
during an allocation if they aren't of "size" bytes of contigous
physical memory , and will never reclaim them later. ( it can't do
that with a simple "available_next" )
In addition to the fact that it is unable to reserve any low memory
(<MAX_DMA_ADDRESS) during the allocation phase because it didn't have
a "goal" ( "available_next" alone can't implement a goal) , in the
patch "init_alloc_aligned" will behave exactly like the old one , in
addition to "_init_alloc_aligned" for DMA allocation (if you don't
want to have vm_page to back it) , and this function will reclaim all
pages that was skipped during contigous memory allocation.
[Note: The current bitmap is saved starting at address 0x4000 , which
i think is a save place during initialization]
("The patch is attached")
boot_alloc.diff
Description: Text Data
- Replacing init_alloc_aligned with a bitmapped allocator,
Karim Allah Ahmed <=