Changes between Version 10 and Version 11 of library_malloc


Ignore:
Timestamp:
Apr 4, 2015, 1:52:11 PM (9 years ago)
Author:
alain
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • library_malloc

    v10 v11  
    44define an user-level memory allocation service. The requested memory blocks are allocated from the application heap.
    55
    6 If the target architecture is clusterized (one physical memory bank per cluster),
    7 the application heap is physically distributed, and it can exist one heap(x,y) segment per cluster,
    8 This means one allocator per cluster.
     6If the target architecture is clusterized (one physical memory bank per cluster), the application heap can be physically distributed: depending on the application mapping,  it can exist one or several heap(x,y) segment per cluster, and therefore it can exist up to one allocator per cluster.
    97
    108The distributed heap(x,y) ''vsegs'' must be explicitely defined in the application mapping.
    119
    1210WARNING: The heap(x,y) segment size must be a power of 2, and the heap(x,y)  base address must be aligned.
     11
     12 == Initialization policy ==
     13
     14The user application must initialize the heap(x,y) structure before  using the malloc() or remote_malloc() functions, and this initialization
     15must be done by one single task.
    1316
    1417 == Allocation policy ==
     
    1922
    2023 == cluster selection ==
    21 
    22 The heap_init() function has to be called by one single task before using other malloc functions.
    2324
    2425The malloc() and free() functions below have the same semantic as the standard UNIX functions. The cluster where the memory is allocated is implicitely defined by the (x,y) coordinate of the processor running the calling task.