realtime

Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
realtime [2018/03/26 15:30] adminrealtime [2025/11/27 11:21] (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/
 +
 +====== 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.1522078232.txt.gz
  • Last modified: 8 years ago
  • by admin