mirror of
https://github.com/genodelabs/genode.git
synced 2025-06-16 22:28:18 +00:00
l4lx: allocate memory in chunks
When L4Linux tries to allocate a dataspace of the size of its physical memory, this allocation can fail, because the 'l4re_ma_alloc()' function in the 'l4lx' library always tries to allocate a contiguous dataspace of the given size and there might be no contiguous free area left. With this patch, memory gets allocated in chunks: if the size to be allocated exceeds the configured chunk size, a managed dataspace gets created and filled with multiple memory chunks of at most the chunk size. The chunk size is 16M by default and can be configured in an l4linux config node: <config args="..."> <ram chunk_size="16M"/> </config> Fixes #695.
This commit is contained in:
committed by
Norman Feske
parent
3ae2c1712e
commit
570156b38c
@ -129,7 +129,7 @@ namespace Genode {
|
||||
virtual Local_addr attach(Dataspace_capability ds,
|
||||
size_t size = 0, off_t offset = 0,
|
||||
bool use_local_addr = false,
|
||||
Local_addr local_addr = (addr_t)0,
|
||||
Local_addr local_addr = 0,
|
||||
bool executable = false) = 0;
|
||||
|
||||
/**
|
||||
|
Reference in New Issue
Block a user