From da76459dc21b5af2449af2d36eb95226cb186ce2 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 28 Apr 2024 11:35:11 +0200 Subject: Adding upstream version 2.6.12. Signed-off-by: Daniel Baumann --- doc/internals/sched.svg | 1204 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1204 insertions(+) create mode 100644 doc/internals/sched.svg (limited to 'doc/internals/sched.svg') diff --git a/doc/internals/sched.svg b/doc/internals/sched.svg new file mode 100644 index 0000000..0fa329a --- /dev/null +++ b/doc/internals/sched.svg @@ -0,0 +1,1204 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Most Urgent + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Global + +tasks + +(locked) + +tasks + +Local + +(locked) + +timers + +Global + +timers + +Local + +Local ? + +Yes + +No + +Local ? + +Yes + +No + + +Class? + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +past + + +future + + +past + + +future + +Oldest + + +newest + + +oldest + + +newest + + +oldest + +runqueue-depth + +runqueue-depth + +Time-based + +Wait queues + +- 1 global + +- 1 per thread + +Priority-based + +Run queues + +- 1 global + +- 1 per thread + +task_wakeup() + +task_schedule() + +task_queue() + +tasklet_wakeup() + +t->process() + +Run! + +37% + +=1 + +(accessed using atomic ops) + +50% + +13% + + +Yes + + +Local ? + + +No + +TASK_SELF_WAKING + +TASK_HEAVY + +(default) + +In I/O or signals + + +Most Urgent + +order + +Scan + +5 class-based tasklet queues per thread (one accessible from remote threads) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +TL_URGENT + +TL_NORMAL + +TL_BULK + +TL_HEAVY + +SHARED + + -- cgit v1.2.3