realtime-setup/what-do.txt

44 lines
2.2 KiB
Plaintext

Looking at the specfile, here's what realtime-setup gets you:
1. Create a realtime group:
/usr/sbin/groupadd -f -g 71 realtime
2. Turns on "panic on hung task":
sysctl -w kernel.hung_task_panic=0 >/dev/null 2>&1
3. Sets "hung task" threshold to 600 seconds:
sysctl -w kernel.hung_task_timeout_secs=600
4. Installs and enables systemd realtime-setup service file:
install -m 644 -D realtime-setup.service /usr/lib/systemd/system/realtime-setup.service
systemctl enable realtime-setup
5. installs realtime rules in /etc/security/limits.d/realtime.conf:
@realtime soft cpu unlimited
@realtime - rtprio 99
@realtime - nice -20
@realtime - memlock unlimited
6. install udev rules in /etc/udev/rules.d/99-rhel-rt.rules
# udev rules specific to RHEL-RT Realtime kernel
# insure /dev/rtc points to /dev/rtc0
# we use PROGRAM rather than SYMLINK because there is
# a (good) possibility that a /dev/rtc device file
# already exists and we want to replace it (hence the
# ln -sf)
KERNEL=="rtc0", PROGRAM+="/bin/ln -sf rtc0 /dev/rtc"
# Give permission to the realtime group to write a zero to /dev/cpu_dma_latency
# This will tell the power management system not to transition to a high cstate
KERNEL=="cpu_dma_latency", GROUP="realtime"
# Give permission to the realtime group to read the per cpu msr and cpuid
# registers. This is needed by cyclictest in rt-tests when using the new
# feature to read the smi counters. This is necessary but not sufficient
# A program that wants to access these registers will also need CAP_SYS_RAWIO
SUBSYSTEM=="msr", GROUP="realtime", MODE="0640"
SUBSYSTEM=="cpuid", GROUP="realtime", MODE="0640"
7. install sysconfig rules for RT in /etc/sysconfig/realtime-setup
#
# Decide whether to turn off SLUB cpu_partial support
#
SLUB_CPU_PARTIAL="off"
8. install script to turn off SLUB cpu-partial support:
/usr/bin/slub_cpu_partial_off
9. install kernel-is-rt script in /usr/sbin/kernel-is-rt
10. install a C binary that enables socket timestamping:
install -m 755 -D -s realtime-entsk /usr/sbin/realtime-entsk