MIL_ID ThrId, | //in |
MIL_INT64 ControlType, | //in |
MIL_INT64 TypeFlag, | //in |
MIL_INT64 TypeValue, | //in |
void *ValuePtr | //in |
This function controls a MIL multi-core processing setting of a thread context. It establishes whether MIL can use multi-core processing to execute certain parts of MIL functions on the specified thread. It also sets how multi-core processing is performed for the specified thread.
MthrControlMp() always takes precedence over MappControlMp().
Specifies the identifier of a user-allocated MIL thread context allocated using MthrAlloc().
For specifying the identifier of a
user-allocated MIL thread context
|
|||||||||||||||||||||||||||||||||||||||
Value | Description
|
||||||||||||||||||||||||||||||||||||||
M_DEFAULT |
Specifies the default MIL thread context identifier associated with the current Host thread. |
||||||||||||||||||||||||||||||||||||||
MIL thread context identifier |
Specifies the identifier of a user-allocated MIL thread context. |
Specifies the type of multi-core processing setting to control.
See the Parameter associations section for possible values that can be specified.
Specifies the setting's new value.
See the Parameter associations section for possible values that can be specified.
Specifies the address which contains more information about the setting's new value. Set this parameter to M_NULL if not used.
See the Parameter associations section for possible values that can be specified.
The table below lists possible values for the ControlType, TypeValue, and ValuePtr parameters.
For specifying multi-core processing
thread context settings
|
|||||||||||||||||||||||||||||||||||||||
ControlType |
Description
|
||||||||||||||||||||||||||||||||||||||
TypeValue | |||||||||||||||||||||||||||||||||||||||
ValuePtr | |||||||||||||||||||||||||||||||||||||||
M_CORE_AFFINITY_MASK |
Sets the core affinity bit-mask, which indicates on which CPU core(s) (processor(s)) to run the multi-core processing part of MIL functions. (more details...) |
||||||||||||||||||||||||||||||||||||||
TypeValue |
Specifies how to define the mask. (more details...) |
||||||||||||||||||||||||||||||||||||||
M_DEFAULT |
Specifies the default value. (more details...) |
||||||||||||||||||||||||||||||||||||||
M_ALL |
Specifies to use all CPU cores available to the process running the MIL application, as per the operating system. |
||||||||||||||||||||||||||||||||||||||
M_USER_DEFINED |
Specifies to use a user-defined core affinity bit-mask. |
||||||||||||||||||||||||||||||||||||||
ValuePtr |
Data
type info
Data type: array of type MIL_UINT64 Specifies the core affinity bit-mask to use when defining a M_USER_DEFINED mask. INQ (more details...) |
||||||||||||||||||||||||||||||||||||||
M_NULL |
Specifies that a user-defined mask is not used. |
||||||||||||||||||||||||||||||||||||||
Non-zero initialized bit-mask array |
Specifies a bit-mask array in which each bit represents one CPU core. (more details...) |
||||||||||||||||||||||||||||||||||||||
M_CORE_MAX |
Sets the maximum number of CPU cores to use to process the multi-core processing part of each MIL function on the specified thread, when multi-core processing is enabled. (more details...) |
||||||||||||||||||||||||||||||||||||||
TypeValue |
Specifies one of the following. INQ (more details...) |
||||||||||||||||||||||||||||||||||||||
M_DEFAULT |
Specifies the default value. (more details...) |
||||||||||||||||||||||||||||||||||||||
1 <= Value <= 65535 |
Specifies the maximum number of CPU cores to use. (more details...) |
||||||||||||||||||||||||||||||||||||||
M_CORE_MAX_FOR_COPY |
Sets the maximum number of CPU cores to use to process the multi-core processing part of copy type functions, such as MbufCopy(), on the specified thread, when multi-core processing is enabled. (more details...) |
||||||||||||||||||||||||||||||||||||||
TypeValue |
Specifies one of the following. INQ (more details...) |
||||||||||||||||||||||||||||||||||||||
M_DEFAULT |
Specifies the default value. (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. (more details...) |
||||||||||||||||||||||||||||||||||||||
M_CORE_SHARING |
Sets whether MIL multi-core processing can use multiple logical cores per physical CPU core, when hyper-threading is enabled and supported. (more details...) |
||||||||||||||||||||||||||||||||||||||
TypeValue |
Specifies one of the following. INQ (more details...) |
||||||||||||||||||||||||||||||||||||||
M_DEFAULT |
Specifies the default value. (more details...) |
||||||||||||||||||||||||||||||||||||||
M_DISABLE |
Uses only one logical core per physical CPU core, if hyper-threading is enabled. |
||||||||||||||||||||||||||||||||||||||
M_ENABLE |
Uses all the logical cores of a physical CPU core, if hyper-threading is enabled. |
||||||||||||||||||||||||||||||||||||||
M_MP_PRIORITY |
Controls the processing priority of the multi-core processing part of MIL functions. (more details...) |
||||||||||||||||||||||||||||||||||||||
TypeValue |
Specifies one of the following. INQ (more details...) |
||||||||||||||||||||||||||||||||||||||
M_DEFAULT |
Specifies the default value. (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. (more details...) |
||||||||||||||||||||||||||||||||||||||
M_IDLE |
Specifies that the multi-core processing part of MIL functions will be executed with idle priority. (more details...) |
||||||||||||||||||||||||||||||||||||||
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. (more details...) |
||||||||||||||||||||||||||||||||||||||
M_MP_USE |
Sets whether multi-core processing can be used to execute certain parts of MIL functions. (more details...) |
||||||||||||||||||||||||||||||||||||||
TypeValue |
Specifies one of the following. INQ (more details...) |
||||||||||||||||||||||||||||||||||||||
M_DEFAULT |
Specifies the default value. (more details...) |
||||||||||||||||||||||||||||||||||||||
M_DISABLE |
Specifies that multi-core processing cannot be used for MIL functions on the specified thread. |
||||||||||||||||||||||||||||||||||||||
M_ENABLE |
Specifies that multi-core processing can be used for MIL functions on the specified thread. |
Header | Include mil.h. |
Library | Use mil.lib. |
DLL | Requires mil.dll, milmp.dll. |