MIL_ID ContextAppId, | //in |
MIL_INT64 InquireType, | //in |
MIL_INT64 TypeFlag, | //in |
MIL_INT64 TypeValue, | //in |
void *UserVarPtr | //out |
This function inquires about a setting of a MIL multi-core processing application environment. This function can return whether MIL can use multi-core processing to execute certain parts of MIL functions. It can also return how multi-core processing is performed.
In multi-thread environments, an MappInquireMp() call returns information that applies to all application threads running MIL, unless the specific setting was overridden for a specific thread using MthrControlMp(); in which case, you should use MthrInquireMp() to obtain information about that thread.
Specifies the identifier of the application context to use. This only applies to a DMIL environment.
For specifying the application
context
|
|||||||||||||||||||||||||||||||||||||||
Value | Description
|
||||||||||||||||||||||||||||||||||||||
M_DEFAULT |
Specifies the current application context. |
||||||||||||||||||||||||||||||||||||||
Application Context Identifier |
Specifies the application context identifier. |
Specifies the type of multi-core processing application environment setting about which to inquire.
See the Parameter associations section for possible values that can be specified.
Specifies additional information regarding the inquired setting. This parameter must be set to M_DEFAULT if not used.
See the Parameter associations section for possible values that can be specified.
Specifies the address in which to write the requested information.
See the Parameter associations section for possible values that can be returned.
The table below lists possible values for the InquireType and TypeValue parameters and possible values returned to the UserVarPtr parameter.
Note that TypeValue should be set to M_DEFAULT if it is not used.
Unless otherwise specified, the following values require that you pass the UserVarPtr parameter the address of a MIL_INT.
For inquiring about multi-core processing
application environment setting
|
|||||||||||||||||||||||||||||||||||||||
InquireType |
Description
|
||||||||||||||||||||||||||||||||||||||
TypeValue | |||||||||||||||||||||||||||||||||||||||
UserVarPtr - Possible values returned |
|||||||||||||||||||||||||||||||||||||||
M_CORE_AFFINITY_MASK |
Inquires about the core affinity bit-mask, which indicates the CPU cores that can be used to run the multi-core processing part of MIL functions. SET (more details...) |
||||||||||||||||||||||||||||||||||||||
UserVarPtr |
Data
type info
Data type: array of type MIL_UINT64 Returns one of the following. (more details...) |
||||||||||||||||||||||||||||||||||||||
Non-zero initialized bit-mask array |
Specifies an array of MIL_UINT64 with a size equal to the value retrieved using MappInquireMp() with M_CORE_AFFINITY_MASK_ARRAY_SIZE. INFO |
||||||||||||||||||||||||||||||||||||||
Zero-initialized bit-mask |
Specifies that all CPU cores that are available to the process running your MIL application can be used (M_CORE_AFFINITY_MASK is set to M_ALL). |
||||||||||||||||||||||||||||||||||||||
M_CORE_AFFINITY_MASK_ARRAY_SIZE |
Inquires the size of the array required to store the core affinity bit-mask. (more details...) |
||||||||||||||||||||||||||||||||||||||
UserVarPtr |
Returns the following. (more details...) |
||||||||||||||||||||||||||||||||||||||
Value >= 1 |
Specifies the size of the core affinity mask array. |
||||||||||||||||||||||||||||||||||||||
M_CORE_AFFINITY_MASK_PROCESS |
Inquires about the core affinity bit-mask that the operating system assigned to the process running your MIL application. (more details...) |
||||||||||||||||||||||||||||||||||||||
UserVarPtr |
Data
type info
Data type: array of type MIL_UINT64 Returns the core affinity bit-mask. |
||||||||||||||||||||||||||||||||||||||
M_CORE_MAX |
Inquires the maximum number of CPU cores to use to process the multi-core processing part of each MIL function. SET (more details...) |
||||||||||||||||||||||||||||||||||||||
UserVarPtr |
Returns the following. (more details...) |
||||||||||||||||||||||||||||||||||||||
1 <= Value <= 65535 |
Specifies the maximum number of CPU cores to use. INFO |
||||||||||||||||||||||||||||||||||||||
M_CORE_MAX_FOR_COPY |
Inquires the maximum number of CPU cores to use to process the multi-core processing part of copy type functions. SET (more details...) |
||||||||||||||||||||||||||||||||||||||
UserVarPtr |
Returns one of the following. (more details...) |
||||||||||||||||||||||||||||||||||||||
M_FOLLOW_CORE_MAX |
Specifies to use the current value of M_CORE_MAX. |
||||||||||||||||||||||||||||||||||||||
1 <= Value <= 65535 |
Specifies the maximum number of CPU cores to use. INFO |
||||||||||||||||||||||||||||||||||||||
M_CORE_MEMORY_BANK |
Inquires the index of a memory bank local to the specified CPU core. (more details...) |
||||||||||||||||||||||||||||||||||||||
TypeValue |
Specifies the CPU core. (more details...) |
||||||||||||||||||||||||||||||||||||||
UserVarPtr |
Returns one of the following. (more details...) |
||||||||||||||||||||||||||||||||||||||
-1 |
Specifies that no memory bank is local to the specified CPU core or the CPU core is not available to the process running your MIL application. |
||||||||||||||||||||||||||||||||||||||
Value >= 0 |
Specifies the memory bank index. |
||||||||||||||||||||||||||||||||||||||
M_CORE_NUM_PROCESS |
Inquires the number of CPU cores available to the process running your MIL application. (more details...) |
||||||||||||||||||||||||||||||||||||||
UserVarPtr |
Returns the following. (more details...) |
||||||||||||||||||||||||||||||||||||||
Value >= 1 |
Specifies the number of CPU cores. |
||||||||||||||||||||||||||||||||||||||
M_CORE_SHARING |
Inquires whether MIL multi-core processing can use multiple logical cores per physical CPU core, when hyper-threading is enabled and supported. SET (more details...) |
||||||||||||||||||||||||||||||||||||||
UserVarPtr |
Returns one of the following. (more details...) |
||||||||||||||||||||||||||||||||||||||
M_DISABLE |
Specifies to use only one logical core per physical CPU core, if hyper-threading is enabled. |
||||||||||||||||||||||||||||||||||||||
M_ENABLE |
Specifies to use all the logical cores of a physical CPU core, if hyper-threading is enabled. |
||||||||||||||||||||||||||||||||||||||
M_MEMORY_BANK_AFFINITY_MASK |
Inquires about a memory bank affinity bit-mask. (more details...) |
||||||||||||||||||||||||||||||||||||||
TypeValue |
Specifies the following. (more details...) |
||||||||||||||||||||||||||||||||||||||
M_LOCAL |
Specifies that M_MEMORY_BANK_AFFINITY_MASK returns an affinity bit-mask that identifies local memory banks. |
||||||||||||||||||||||||||||||||||||||
UserVarPtr |
Data
type info
Data type: array of type MIL_UINT64 Returns the memory bank affinity bit-mask. |
||||||||||||||||||||||||||||||||||||||
M_MEMORY_BANK_AFFINITY_MASK_ARRAY_SIZE |
Inquires the size of the array required to store the memory bank affinity bit-mask. (more details...) |
||||||||||||||||||||||||||||||||||||||
UserVarPtr |
Returns the following. (more details...) |
||||||||||||||||||||||||||||||||||||||
Value >= 1 |
Specifies the size of the memory bank affinity array. |
||||||||||||||||||||||||||||||||||||||
M_MEMORY_BANK_CORE_AFFINITY_MASK |
Inquires about the core affinity bit-mask representing the CPU cores local to the specified memory bank. (more details...) |
||||||||||||||||||||||||||||||||||||||
TypeValue |
Specifies the memory bank. (more details...) |
||||||||||||||||||||||||||||||||||||||
UserVarPtr |
Data
type info
Data type: array of type MIL_UINT64 Returns the core affinity bit-mask. |
||||||||||||||||||||||||||||||||||||||
M_MEMORY_BANK_NUM |
Inquires the number of memory banks local to the CPU cores available to the process running your MIL application. (more details...) |
||||||||||||||||||||||||||||||||||||||
UserVarPtr |
Returns the following. (more details...) |
||||||||||||||||||||||||||||||||||||||
Value >= 0 |
Specifies the number of memory banks. |
||||||||||||||||||||||||||||||||||||||
M_MP_FORCED_DISABLE |
Inquires whether MIL applications can use multi-core processing to execute certain parts of MIL functions. (more details...) |
||||||||||||||||||||||||||||||||||||||
UserVarPtr |
Returns one of the following. (more details...) |
||||||||||||||||||||||||||||||||||||||
M_NO |
Specifies that multi-core processing works normally and all control types are in effect. |
||||||||||||||||||||||||||||||||||||||
M_YES |
Specifies that multi-core processing in MIL is disabled regardless of any other control type. |
||||||||||||||||||||||||||||||||||||||
M_MP_PRIORITY |
Inquires the processing priority of the multi-core processing part of MIL functions. SET (more details...) |
||||||||||||||||||||||||||||||||||||||
UserVarPtr |
Returns one of the following. (more details...) |
||||||||||||||||||||||||||||||||||||||
M_ABOVE_NORMAL |
Specifies that the multi-core processing part of MIL functions will be executed with above normal priority. |
||||||||||||||||||||||||||||||||||||||
M_BELOW_NORMAL |
Specifies that the multi-core processing part of MIL functions will be executed with below normal priority. |
||||||||||||||||||||||||||||||||||||||
M_HIGHEST |
Specifies that the multi-core processing part of MIL functions will be executed with high priority. INFO |
||||||||||||||||||||||||||||||||||||||
M_IDLE |
Specifies that the multi-core processing part of MIL functions will be executed with idle priority. INFO |
||||||||||||||||||||||||||||||||||||||
M_LOWEST |
Specifies that the multi-core processing part of MIL functions will be executed with low priority. |
||||||||||||||||||||||||||||||||||||||
M_NORMAL |
Specifies that the multi-core processing part of MIL functions will be executed with normal priority. |
||||||||||||||||||||||||||||||||||||||
M_TIME_CRITICAL |
Specifies that the multi-core processing part of MIL functions will be executed with time critical priority. INFO |
||||||||||||||||||||||||||||||||||||||
M_MP_USE |
Inquires whether multi-core processing can be used to execute certain parts of MIL functions. SET (more details...) |
||||||||||||||||||||||||||||||||||||||
UserVarPtr |
Returns one of the following. (more details...) |
||||||||||||||||||||||||||||||||||||||
M_DISABLE |
Specifies that multi-core processing cannot be used. |
||||||||||||||||||||||||||||||||||||||
M_ENABLE |
Specifies that multi-core processing can be used. |
Header | Include mil.h. |
Library | Use mil.lib. |
DLL | Requires mil.dll, milmp.dll. |