INtime SDK Help
New in this release
INtime SDK v7.1 > Welcome to INtime SDK > New in this release

New in INtime 7.1 SDK

Note: For any additional information about new INtime features, see the release notes file.
Go to Start -> INtime -> Release Notes.

Update network stack (istack.rta)

This release includes an updated implementation of the INtime network stack, including support for the Intel i225/i226 interfaces. There are minor variations in the network utilities as a result of the upgrade, see the detailed documentation for details.

New Intel i225/i226 2.5 Gbit Ethernet driver

A new driver ie25g has been added to the product to support these interfaces.
Both standard and HPE support has been provided for these drivers, with the ie25g HPE functionality matching the feature set of the ie1ge driver for the Intel i210 Ethernet interface. The one difference is that the "sticky buffers" HPE feature supported by the i210 is not supported for the i225/i226 because the hardware does not support the feature.

New DNS utility

The utility drill.rta has been added to this release. Drill is a tool designed to return all sorts of information out of the DNS. It is specifically designed to be used with DNSSEC.

New DHCPINFO utility and APIs

Added a utility and an API to retrieve information about network interfaces under DHCP management. See the detailed documentation on dhcpinfo.rta for further information.

API calls DHCPLeaseInfoGet(), DHCPLeaseInfoFree() have also been added. The ifinfo sample program has been updated to demonstrate use of the APIs.

Visual Studio 2008 C/C++ runtimes have been removed

All internal dependencies on Visual Studio 2008 runtime libraries have been removed from the INtime product. The installer no longer installs the Visual Studio 2008 runtime libraries. This addresses the fact that Microsoft will no longer support these runtimes for security updates.

Support for AMD Ryzen 7000 family of processors

Support has been added for the AMD Ryzen 7000 family of CPUs.

Changes in this INtime SDK v7.1

General changes:

Platform Assessment Tool (TPAT.exe)

Text changes have been made to the Real-Time Settings view to better reflect how those technologies are named by Intel and AMD. Changes have been made for Hardware-controlled Performance, SMT (both Intel) and Core Performance Boost (AMD).

The Real-Time Settings Summary is now highlighted red when SMIs are detected. In that case the System Management Mode real-time setting will also get a red status indicator.

Remote (network-connected) nodes are now highlighted to make it easier to see if TPAT is running on the local node or on a remote node.

For Distributed RTOS nodes, the Windows version is now displayed as “Not Applicable”.

A System Load Indicator has been added to TPAT which will be shown when there are non-system process detected on the INtime node.

The most common use case for TPAT is to evaluate if the platform is suitable for the use of INtime, meaning that the INtime nodes are not impacted by any System Management activity in the firmware or windows applications. The purpose for adding the System Load Indicator is to highlight that applications running on the INtime node can also have impact on how the evaluation results. The html and csv reports now contain additional information about any non-system INtime process, e.g. when it was started and when it was stopped, and the Extreme Event section shows a list of processes that is running when the Extreme Event was detected.

Platform Evaluation tool (plateva.exe)

A command line parameter was added to the tool to enable a report to be generated without loading the UI.

Graphical Jitter tool

The graphical jitter tool has been removed from the product, having been replace with the newer Platform Evaluation Tool (tpat.exe). The sample project is still deployed with the SDK.

INtime network drivers

Support for the following loader.cfg options were omitted from the ie10g and ie40g drivers. These options are now supported:

High-Performance Ethernet

Made a modification to the HPE drivers, to change the default priority of the "I" thread to 200 when HPE is running polled mode. The priority may be explicitly set with dev.xxx.pollpri=123 in loader.cfg

INtime kernel

A fix was made to resolve a problem with the “Nested region restored priority” feature first introduced in INtime 7.0. The problem occurred when a thread sleeping on a region was awoken in such a way to avoid adjusting the depth count, and then a breakpoint was hit when thread thread exited too many regions. The error was resolved and the breakpoint removed.

NTX API

A resource limit was fixed. When too many NTX application threads (across a single or multiple processes) try to create RT objects, some of the calls could fail because of the limitation. The resource limit was raised. Additionally, part of the fix allows the user to configure the system settings to avoid the problem.

The number of Proxy Object mailboxes can be adjusted by adding the value: MBXQ_SIZE in the DSM section of the Advanced Sections of the primary node.

This sets the number of mailboxes created by the RT DSM component and the default value is 9. If further configuration is required, you could also change the time that a thread can wait for a Proxy Object mailbox by adding the REG_DWORD value: MbxQTimeoutMilliseconds to the key:

HKEY_LOCAL_MACHINE\SOFTWARE\TenAsys\INtime\Distributed System Manager

Set it to the desired wait time in Milliseconds. The default value is 50000.

A bug was fixed where a call to ntxMapRtSharedMemory returned a bogus error. This problem occurred in very unusual conditions when the system was stressed. The underlying logic problem was fixed.

IWIN32/IWIN32X API

A possible deadlock condition was fixed by changing the initialization of the iwin32x.dll. The internal thread required to receive DSM notifications in the iwin32x dll is now created during initialization in a way which avoids the deadlock.

INtime for Windows changes:

Installation

The default memory requirement for an INtime node on INtime for Windows has been increased from 32MB to 64MB.

INtime Device Configuration (devconfig64.exe)

The INtime Device Configuration utility was updated to avoid modifying the netrtdrm.inf file, which invalidated the certificate for the rtdrm.sys driver.

RT Application Loader (ldrta.exe)

Fixed error where the loader did not detect memory allocations which were adjacent in memory, as opposed to overlapping. This resulted in a load failure of 0x00F1 E_ALLOCATED.

INtime Clock Synchronization service (rtclksrv.exe)

An improved algorithm has been implemented for clock synchronization between Windows and INtime. This requires a CPU with support for ART (Always Running Timer) as indicated by the Invariant TSC bit being set in CPUID[0x80000007] bit 8.

The new algorithm reduces the variation between the system time read on Windows and INtime. It may be enabled on a node by setting the Advanced configuration DWORD value SYNCMODE in section CLKSYNC to 2.

INtime Distributed RTOS changes:

Installation

The dd utility has been added to the INtime Distributed RTOS runtime installation.

Bootloader (UEFI)

Fixed a bug where on some systems, the boot loader would not produce the text boot menu or progress messages. If left alone or if ESC was pressed, the system would boot normally.

GOBS interface/DTLS (gobsdtls.rta)

A fix was made to gobsdtls.rta to avoid a potential fault during runtime.

DSM

A bug was fixed which occasionally caused spurious messages to be printed to the DRTOS console: "stopping NodeX". Also, the spurious messages were sent to threads calling RtNotifyEvent with the RT_SYSTEM_NOTIFICATIONS parameter. The internal GOBS location table was modified to prevent these spurious messages.

INshell

Fixed a crash induced by an out of memory condition when running INshell scripts with a "sleep x" statement.

SDK changes:

INtime API

The use of the LPPROC type for pointers in some standard INtime calls causes warnings or errors in C++17 and later. New types LPHANDLER and LPHANDLEREX have been defined for use with SetRtInterruptHandler and SetRtInterruptHandlerEx and given specific definitions when using C++.

Fixed a problem in INtime Distributed RTOS where the PROC_WAIT is specified in CreateRtProcess and the default wait period is not 30 seconds. 

A fix was applied for the case were a call to GetRtPhysicalMemoryInfo failed on INtime Distributed RTOS.

Added change to the memory manager code within the nucleus to return to the parent process, when freed, memory allocated that is greater than the basic heap quantum. This behavior may observed with CreateGlobalRtMemoryObject() and DeleteRtReferenceObject().

C library

New call alloca() implemented in this release. See detailed documentation for full details.

 Sample projects

HPE sample: Fixed a bug where the generic HPE sample program attempted to use i210 features that are not supported on other cards. This attempt resulted in an error message and failure to start the sample program.

HPE3 sample: Remove win_mcast sub project from the "High Performance Ethernet Sample”

MKL Example: The MKL subs library and MKL example was updated to include support for MKL 2024.0.

Known problems in INtime SDK v7.1

Other issues to note

On newer PCs there is a new feature called Virtualization-Based Security (“VBS”). This feature can prevent INtime signaling CPUs dedicated to INtime and not used by Windows. You can check for the presence of this feature by running msinfo32.exe and check that the value of “Virtualization-base security” is “not enabled”. If it is enabled, then you should disable it in the firmware setup (BIOS setup). The installer will attempt to disabled this in the registry. In this key:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\HypervisorEnforcedCodeIntegrity
A DWORD value called “Enabled” is set to 0 to disable VBS.

See Also