bug-hurd
[Top][All Lists]
Advanced

[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")

Attachment: boot_alloc.diff
Description: Text Data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]