User Tools

Site Tools


realtime

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
realtime [03/26/2018 15:30] adminrealtime [06/09/2026 18:45] (current) admin
Line 1: Line 1:
- 
 https://wiki.linuxfoundation.org/realtime/rtl/start https://wiki.linuxfoundation.org/realtime/rtl/start
 +
 https://wiki.linuxfoundation.org/realtime/rtl/all_topics https://wiki.linuxfoundation.org/realtime/rtl/all_topics
 +
 +https://www.embedded-software-engineering.de/entwicklung-einer-linux-realtime-applikation-a-b862ea485a877e6a7e2f25edd98f5ef7/
 +
 +
 +{{:screenshot_from_2026-06-09_20-43-34.png?direct&400|}}
 +
 +
 +====== Learning ======
 +
 +https://realtime-linux.org/a-checklist-for-real-time-applications-in-linux/
 +
 +https://bootlin.com/training/preempt-rt/
 +
 +
 +====== Core partitioning ======
 +
 +User-space partitioning, core isolation, NO_HZ_FULL
 +
 +Dual-OS partitioning, using a POSIX RTOS in some cores, over a hypervisor
 +
 +https://yosh.ke.mu/raspberry_pi_isolating_cores_in_linux_kernel
 +
 +
 +====== Multitasking ======
 +In user space:
 +  * Process (fork)
 +  * Thread (pthread_create)
 +
 +In kernel:
 +  * Kernel thread (kthreadd)
 +
 +====== Scheduler ======
 +sched_class
 +stop > dl > rt > cfs > idle
 +(e.g. rt threads will run with higher priority than cfs threads)
 +(stop and idle scheduling class are not accessible for user space applications)
 +
 +rt includes SCHED_FIFO and SCHED_RR policies.
 +
 +dl includes SCHED_DEADLINE policy (augmented EDF).
 +
 +
 +====== Utilities ======
 +  * chrt
 +  * taskset
 +
 +==== Linux specific APIs ====
 +  * sched_setattr
 +  * sched_setaffinity
 +  * CPU_SET
 +  * pthread_setaffinity_np
 +
 +==== POSIX realtime APIs ====
 +  * sched_setscheduler
 +  * ...
 +
 +
 +==== Benchmarking ====
 +
 +Latency measurement with **cyclictest** (results for SCHED_FIFO).
 +
 +Sources of latency:
 +  * Kernel system call
 +  * ISR
 +  * Kernel locks
 +  * Priority inversions
 +  * Timers
 +  * Page faults
 +
 +**Ftrace**
 +
 +**Kernel Shark**
 +
 +**LLTng**
 +
 +
 +
realtime.1522078224.txt.gz · Last modified: by admin

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki