*rt-entsk* prevents IPI generation and delay of realtime tasks
The chrony daemon, *chronyd*, enables or disables network timestamping, which activates a static key within the kernel. When a static key is enabled or disabled, three inter-processor interrupt (IPIs) are generated to notify other processors of the activation.
Previously, rapid activation and deactivation of the *chronyd* static keys led to a delay of a realtime task. Consequently, a latency spike occurred. With this update, systemd starts the *rt-entsk* program, which keeps timestamping enabled and prevents the IPIs from being generated. As a result, IPI generation no longer occurs in a rapid succession, and realtime tasks are no longer delayed due to this bug.
Pei Zhang discovered and Daniel Bristot debugged a problem
where chronyd enables/disables static keys for network timestamping.
The static key enable/disable process includes several IPIs and this causes
additional latency to -RT systems.
To workaround this particular problem, one can enable timestamping
on a socket separately from chronyd.
This is what the attached enable-netsocket-tstamp-static-key.c does.
Please include it in rt-setup so tuned profile can be patched
to start this daemon.
Created attachment 1475947 [details]
daemon to enable timestamp on network sockets
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.
For information on the advisory, and where to find the updated
files, follow the link below.
If the solution does not work for you, open a new bug report.