Deferrable functions, kernel tasklets, and work queues - IBM Developer
This article explores a couple of methods used to defer processing between kernel contexts (specifically, within the 2.6.27.14 Linux kernel). Although these methods are specific to the Linux kernel, the ideas behind them are useful from an architectural perspective, as well. For example, you could implement these ideas in traditional embedded systems in place of a traditional scheduler for work scheduling. Before diving into the methods used in the kernel to defer functions, however, let's start with some background on the problem being solved. When an operating system is interrupted because of a hardware event (such as the presence of a packet through a network adapter), the processing begins in an interrupt. Typically, the interrupt kicks off a substantial amount of work. Some amount of this work is done in the context of the interrupt, and work is passed up the software stack for additional processing (see Figure 1). The question is, how much work should be done in the interrupt con
Deferrable functions, kernel tasklets, and work queues Tutorial Deferrable functions, kernel tasklets, and work queues An introduction to bottom halves in Linux 2.6 By M. Jones Save On this page Archived content Archive date: 2023-03-24 This content is no longer being updated or maintained. The content is provided “as is.” Given the rapid evolution of technology, some content, steps, or illustrations may have changed. This article explores a couple of methods used to defer processing between kernel contexts (specifically, within the 2.6.27.14 Linux kernel). Although these methods are specific
Explore this link on the map →related reading
- The "Basics" | Putting the "You" in CPUcpu.land
- Unreliable Guide To Locking — The Linux Kernel documentationdocs.kernel.org
- Slurm Workload Manager - Wikipediaen.wikipedia.org
- Brain Fuck Scheduler - Wikipediaen.wikipedia.org
- Microtasks and event looptr.javascript.info
- tldp.org/LDP/tlk/kernel/processes.htmltldp.org
- Queueing – An interactive study of queueing strategies – Encore Blogencore.dev
- javascript - Difference between microtask and macrotask within an event loop context - Stack Overflowstackoverflow.com
- Measuring Mutexes, Spinlocks and how Bad the Linux Scheduler Really is | Probably Danceprobablydance.com
- Writing a task scheduler in Zigopenmymind.net
- Slice Dat Time | Putting the "You" in CPUcpu.land
- Concurrency Patterns in Embedded Rust - Ferrous Systemsferrous-systems.com