Data Fields

HeapMultiBufMP_Params Struct Reference

Structure defining parameters for the HeapMultiBufMP module. More...

#include <HeapMultiBufMP.h>

Collaboration diagram for HeapMultiBufMP_Params:
Collaboration graph
[legend]

Data Fields

GateMP_Handle gate
Bool exact
String name
Int numBuckets
HeapMultiBufMP_BucketbucketEntries
UInt16 regionId

Detailed Description

Structure defining parameters for the HeapMultiBufMP module.


Field Documentation

GateMP used for critical region management of the shared memory

Using the default value of NULL will result in use of the GateMP system gate for context protection.

Use exact matching

Setting this flag will allow allocation only if the requested size is equal to (rather than less than or equal to) a buffer's block size.

Name of this instance.

The name (if not NULL) must be unique among all HeapMultiBufMP instances in the entire system. When creating a new heap, it is necessary to supply an instance name.

The name does not have to be persistent. The supplied string is copied into persistent memory.

Number of buckets in HeapMultiBufMP_Params::bucketEntries

This parameter is required to create any instance.

Bucket Entries

The bucket entries are an array of HeapMultiBufMP_Bucket whose values correspond to the desired alignment, block size and length for each buffer. It is important to note that the alignments and sizes for each buffer may be adjusted due to cache and alignment related constraints. Buffer sizes are rounded up by their corresponding alignments. Buffer alignments themselves will assume the value of region cache alignment size when the cache size is greater than the requested buffer alignment.

For example, specifying a bucket with {blockSize: 192, align: 256} will result in a buffer of blockSize = 256 and alignment = 256. If cache alignment is required, then a bucket of {blockSize: 96, align: 64} will result in a buffer of blockSize = 128 and alignment = 128 (assuming cacheSize = 128).

Shared region ID

The index corresponding to the shared region from which shared memory will be allocated.


The documentation for this struct was generated from the following file:
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines

Copyright 2011, Texas Instruments Incorporated