RTFW_SUBSYSTEM_CONFIGURATION Structure
RTFW_SUBSYSTEM_CONFIGURATION represents core RTX64 subsystem configuration parameters. Other configuration parameters can be obtained and modified using other functions in this library.
Syntax
typedef struct _RTFW_SUBSYSTEM_CONFIGURATION(
size_t Size;
RTFW_START_MODE StartMode;
unsigned int HALTimerPeriod;
uint64_t DefaultTimeQuantum;
bool FreeThreadStackOnTerminateThread;
RTFW_RDT_STATE RDTState;
RTFW_RDT_FEATURE_MODE CATMode;
RTFW_RDT_FEATURE_MODE MBAMode;
} RTFW_SUBSYSTEM_CONFIGURATION, * PRTFW_SUBSYSTEM_CONFIGURATION;
Members
Size
The size of this structure (in bytes). Client code must set this member to sizeof(RTFW_SUBSYSTEM_CONFIGURATION) before passing this structure to any function. This is used to identify the version of this structure if it is extended.
StartMode
Specifies how the subsystem starts. See enumeration RTFW_START_MODE for possible values of this member. If RtfwSetSubsystemConfiguration is called to modify the value of this member, the caller must have Administrator privileges, otherwise that API will fail and set the last error value to ERROR_ACCESS_DENIED.
HALTimerPeriod
Specifies the HAL timer period (in microseconds). This value must be between 1 and 1000 (inclusive). If the HAL timer period is configured to be less than 100 microseconds, fully test your applications on all systems on which it will be deployed. If the HAL timer period is too small, it can cause Windows to hang. When the HAL timer period is changed, if the following Subsystem configuration parameters are not an integer multiple of the new HAL timer period, they are rounded up to be the next integer multiple of the HAL timer period:
- The RT-TCP/IP Stack tick interval (see member TickInterval in structure RTFW_NETWORK_CONFIGURATION).
- The watchdog timeout period (see member WatchdogTimeout in structure RTFW_WATCHDOG_CONFIGURATION).
DefaultTimeQuantum
Specifies the default time quantum, in microseconds, for real-time thread scheduling. This value must be a multiple of the HAL timer period, otherwise this function fails and sets the last error value to RT_ERROR_DEFAULTTIMEQUANTUM_INVALID. This default value can be overwritten at a process level.
If this value is set to RTFW_DISABLE_TIME_QUANTUM, time quantum scheduling is disabled and a thread will run to completion, or it is preempted by a higher priority thread, or it yields.
FreeThreadStackOnTerminateThread
If true, the RTX64 Subsystem frees a thread's stack memory when the thread is terminated using TerminateThread. If false, the thread's stack memory is not freed and can be viewed with debugging tools, such as WinDBG.
RTFW_RDT_STATE RDTState
Specifies the status of performance optimization with Intel® Resource Director Technology (RDT). See enumeration RTFW_RDT_STATE for possible values of this member.
RTFW_RDT_FEATURE_MODE CATMode
Specifies the Intel® Cache Allocation Technology (CAT) mode for performance differentiation among RTSS threads. See enumeration RTFW_RDT_FEATURE_MODE for possible values of this member.
RTFW_RDT_FEATURE_MODE MBAMode
Specifies the Intel® Memory Bandwidth Technology (MBA) mode for performance differentiation among RTSS threads. See enumeration RTFW_RDT_FEATURE_MODE for possible values of this member.
Requirements
| Minimum Required Version |
RTX64 3.4 The members that support Intel® RDT performance optimization were added in RTX64 3.5:
|
| Header | RtfwAPI.h |
| Library | RtfwAPI.lib |
See Also: