![]() |
![]() |
![]() |
> PartitionDescription |
PartitionDescription
/ConfigRecord/Module/Partitions/Partition/PartitionDescription/Settings
The Settings element defines the run-time behavior of the partition.
The following example shows some of the optional settings:
<PartitionDescription ... > <Settings RequiredMemorySize="0x00200000"/> PartitionHMTable="my-partition-HM" syscallPermissions="0xFFFFFFFF" numFiles="0xFFFFFFFF" maxGlobalFDs="10" numDrivers="0xFFFFFFFF" numLogMsgs="0xFFFFFFFF" watchDogDuration="0" allocDisable="0" numStackGuardPages="0xFFFFFFFF" numWorkerTasks="0" isrStackSize="0xFFFFFFFF" selSvrQSize="0xFFFFFFFF" maxEventQStallDuration="INFINITE_TIME" fpExcEnable="1"/> </PartitionDescription>
The complete list of settings is described below.
Required
None
None
The name of the partition health monitor table that is used to configure health monitoring for the application in the partition.
Required
ConfigRecord
String
N/A
None
The value must match the name of a defined partition health monitor as specified in /Module/HealthMonitor/PartitionHMTable/@Name in the Module configuration document for the module.
The size (in bytes) of the partition’s region pool. This memory is part of the user memory region defined in /CoreOSDescription/HardwareConfiguration/PhysicalMemory/userMemoryRegion in the CoreOSDescription document for the core OS.
The partition's memory region must be large enough to contain the following:
To minimize the impact of change on the configuration and certification on the partition and the module as a whole, you should size the partition to accommodate the largest reasonably foreseeable size of the partition, rather than setting it to the minimum size required to accommodate the current partition.
If you increase the size of the partition memory, you may also have to change the values of the following settings to accommodate the increased size of the partition:
Required
ConfigRecord
Unsigned 32 bit integer
N/A
None
The value must be a multiple of the CPU page size.
The upper bound is dependent on system configuration.
The memory allocated must be sufficient to contain the application referenced by the partition, the read/write sections of all shared libraries referenced by the partition, and the heap and stack space required by the referenced application..
Determines whether dynamic memory allocation is enabled or disabled after the partition reaches normal mode.
Optional
ConfigRecord
Boolean
Dynamic memory allocation is enabled.
false: Dynamic memory allocation is enabled.
true: Dynamic memory allocation is disabled.
None
If the value is true, the partition will be relinquish its remaining partition window when the partition is determined to be idle or when the application forces the idle condition. The time is then available for PPS scheduling of other partitions.
Optional
ConfigRecord
Boolean
A value of false is used.
None
None
The priority for the partition when using APPS scheduling.
Optional
ConfigRecord
Signed 32 bit integer
PPS is disabled.
-1: PPS is disabled.
The maximum value is 255.
Determines whether floating-point exceptions are enabled for the partition.
Optional
ConfigRecord
Boolean
Floating-point exceptions are enabled.
false: Floating-point exceptions are disabled.
true: Floating-point exceptions are enabled.
None
The size (in bytes) of the ISR stack. Unless you define your own interrupt handling routines, the default value of the ISR_STACK_SIZE parameter (8192) is sufficient. If you do provide your own interrupt handling routines, you should increase this value by the appropriate amount to meet the requirements of your own code.
Optional
ConfigRecord
Unsigned 32 bit integer
The value of the ISR_STACK_SIZE parameter is used.
0xFFFFFFFF: The value of the ISR_STACK_SIZE parameter is used.
None
The maximum time (in SYSTEM_TIME_TYPE units as defined in apexTypes.h) that an event can remain in the event queue. The value is used to detect stalled partitions.
Optional
ConfigRecord
Unsigned 32 bit integer
A value of 0 is used. A value of 0 is invalid and will result in an error.
INFINITE_TIME: If the partition stalls, it will not be detected.
The build tools multiply the specified value by 1,000,000,000 to give a value in nanoseconds. The maximum value is therefore 18446744073.709551614 and the minimum increment is 0.000000001.
The maximum number of global file descriptors that can be opened by the application that resides in the partition.
Optional
ConfigRecord
Unsigned 32 bit integer
The application that resides in the partition cannot open any global file descriptors.
0: The application that resides in the partition cannot open any global file descriptors.
The upper bound is dependent on system configuration.
The maximum number of I/O device drivers allowed in the partition.
Optional
ConfigRecord
Unsigned 32 bit integer
The value of the NUM_DRIVERS parameter is used.
0xFFFFFFFF: The value of the NUM_DRIVERS parameter is used.
Upper bounds dependent on system configuration.
The maximum number of open files allowed in the application that resides in the partition, including the number of global file descriptors as specified in maxGlobalFDs.
Optional
ConfigRecord
Unsigned 32 bit integer
The value of the NUM_FILES parameter is used.
0xFFFFFFFF: The value of the NUM_FILES parameter is used.
The upper bound is dependent on system configuration.
The maximum number of messages allowed in the partition’s logging queue.
Optional
ConfigRecord
Unsigned 32 bit integer
The value of the MAX_LOG_MSGS parameter is used.
0xFFFFFFFF: The value of the MAX_LOG_MSGS parameter is used.
Upper bounds dependent on system configuration.
The number of stack guard pages at the end of each vThreads task’s stack. vThreads uses guard pages to detect interrupt stack overflow and task stack overflow.
Optional
ConfigRecord
Unsigned 32 bit integer
The value of the NUM_STACK_GUARD_PAGES parameter is used.
0xFFFFFFFF: The value of the NUM_STACK_GUARD_PAGES parameter is used.
The upper bound is dependent on system configuration.
The maximum number of worker tasks for the partition. Worker tasks are used when a partition makes a blocking call to the core OS (for instance, an I/O call). The worker task blocks until the system call is complete, allowing the partition to continue. If no worker tasks are defined, the entire partition blocks until the system call completes.
Optional
ConfigRecord
Unsigned 32 bit integer
There are no worker tasks for the partition.
None
The upper bound is dependent on system configuration.
The maximum number of concurrent vThreads tasks allowed to do a select operation on global file descriptors. This should be greater than or equal to the number of vThreads tasks that could potentially be waiting on “select” system calls at the same time.
Optional
ConfigRecord
Unsigned 32 bit integer
The value of the SELECT_SERVER_QSIZE parameter is used.
0xFFFFFFFF: The value of the SELECT_SERVER_QSIZE parameter is used.
The upper bound is dependent on system configuration.
The bitmask that determines the set of system calls that the application that resides in the partition is allowed to perform. Calculate the value as follows: (1 << x - SYSCALL_MASKABLE), where x is the logical OR of the values of allowable system calls. These values and SYSCALL_MASKABLE are defined in val.h.
Optional
ConfigRecord
Unsigned 32 bit integer
The application that resides in the partition can make any system call.
0xFFFFFFFF: The application that resides in the partition can make any system call.
None
This attribute specifies the value of the user1 field in the PARTITION_CFG_RECORD structure in the system configuration record. You can access this value at runtime by calling:
configRecordFieldGet (pCfg, PARTITION_USER1, 0, &value)
Optional
configRecord
Signed 32 bit integer
A value of 0 is used.
None
None
This attribute specifies the value of the user2 field in the PARTITION_CFG_RECORD structure in the system configuration record. You can access this value at runtime by calling:
configRecordFieldGet (pCfg, PARTITION_USER2, 0, &value)
Optional
configRecord
Signed 32 bit integer
A value of 0 is used.
None
None
The maximum partition time (in seconds) that an application can lock preemption while protecting critical sections.
Optional
ConfigRecord
Unsigned 32 bit integer
The application with task lock will be preempted immediately if need arises.
0: The application with task lock will be preempted immediately if need arises.
INFINITE_TIME: The application can lock preemption indefinitely.
The build tools multiply the specified value by 1,000,000,000 to give a value in nanoseconds. The maximum value is therefore 18446744073.709551614 and the minimum increment is 0.000000001.
Generated on 2007-10-15 17:17:22.