Skip to main content
A real-time (RT) system provides deterministic, bounded response times to external events. A system qualifies as real-time if it is free of unbounded latency, its worst-case response time can be calculated with precision, and all tasks meet their scheduling deadlines within defined jitter limits. Qualcomm® Linux ships an LTS RT kernel (6.18.x) built on top of the upstream PREEMPT_RT patch set. The RT kernel is targeted at kernel-space processes that require deterministic scheduling. User-space applications cannot achieve RT behavior by using the RT kernel alone; they must also be written with RT scheduling policies (SCHED_FIFO / SCHED_RR) and pinned to isolated CPU cores.

How PREEMPT_RT changes the kernel

The standard Linux kernel (CONFIG_PREEMPT or CONFIG_PREEMPT_VOLUNTARY) allows certain critical sections to run non-preemptibly, causing unbounded scheduling latency spikes. PREEMPT_RT eliminates this by: The result is a kernel where nearly every code path can be preempted by a higher-priority RT task, giving deterministic worst-case latencies in the microsecond range on tuned Qualcomm hardware. For the authoritative upstream documentation, see Linux kernel realtime.

Required Kconfig options

The Qualcomm Linux meta-qcom layer enables CONFIG_PREEMPT_RT by default through the rt.config configuration fragment included in the linux-qcom-rt_6.18.bb recipe. The following table describes the key Kconfig options and their role: Table: RT kernel Kconfig options Verify that these options are active on a running RT system:
Expected output:

RT vs standard kernel trade-offs

Choosing the RT kernel involves accepting specific trade-offs:
The RT kernel is supported on all Qualcomm Linux hardware platforms (QCS6490, IQ-9075, IQ-8275, IQ-615). Latency numbers depend on the specific SoC, CPU topology, and tuning applied. Always measure on target hardware and do not rely solely on simulation results.

Verify RT is active

After booting the RT kernel, confirm full RT preemption is enabled: