Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| realtime [2020/07/10 15:15] – admin | realtime [2025/11/27 11:21] (current) – admin | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | |||
| https:// | https:// | ||
| https:// | https:// | ||
| + | |||
| + | https:// | ||
| + | |||
| + | ====== Learning ====== | ||
| + | |||
| + | https:// | ||
| + | |||
| + | https:// | ||
| + | |||
| + | |||
| + | ====== Core partitioning ====== | ||
| + | |||
| + | User-space partitioning, | ||
| + | |||
| + | Dual-OS partitioning, | ||
| + | |||
| + | https:// | ||
| + | |||
| ====== Multitasking ====== | ====== Multitasking ====== | ||
| Line 27: | Line 44: | ||
| * taskset | * taskset | ||
| - | ===== Linux specific APIs ===== | + | ==== Linux specific APIs ==== |
| * sched_setattr | * sched_setattr | ||
| * sched_setaffinity | * sched_setaffinity | ||
| Line 33: | Line 50: | ||
| * pthread_setaffinity_np | * pthread_setaffinity_np | ||
| - | ===== POSIX realtime APIs ===== | + | ==== POSIX realtime APIs ==== |
| * sched_setscheduler | * 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** | ||