IRQs: the Hard, the Soft, the Threaded and the Preemptible
IRQs: the Hard, the Soft, the Threaded and the Preemptible - Alison Chaiken, Peloton Technology
Interrupt handlers manage responses to asynchronous hardware events, keep time and queue deferred work. Hard IRQs are straightforward functions that read status and schedule a slower "bottom half". The difficulty lies with management of the deferred work. Soft IRQS and tasklets are two different mechanisms. Tasklets handle most deferred work, but network, timer and block tasks are managed directly by softirqs. Confusion comes from the realization that the softirq interface via ksoftirqd also manages tasklets. In the RT kernel, hard IRQs themselves run as preemptible threads. What precisely are softirqs and why does the kernel have them? How does handling of deferred work differ with the PREEMPT_RT_FULL kernel? These and related mysteries will be illustrated via results from tools like bpf, event tracers and mpstat that show how to detect IRQ scheduling problems in x86, arm and arm64.
About Alison Chaiken
Alison has been an automotive systems programmer and kernel engineer since 2011 and has worked at Nokia, Mentor Graphics, and Peloton Technology. In 2014-2015, she collaborated on-site with a customer in Germany. Alison has spoken at events including ELC and ELCE, USENIX, Automotive Linux Summit, Southern California Linux Expo and Maker Faire. She organizes the monthly meetings of the 1800+-member, 15-year-old Silicon Valley Automotive Open Source Group.
Видео IRQs: the Hard, the Soft, the Threaded and the Preemptible канала The Linux Foundation
Interrupt handlers manage responses to asynchronous hardware events, keep time and queue deferred work. Hard IRQs are straightforward functions that read status and schedule a slower "bottom half". The difficulty lies with management of the deferred work. Soft IRQS and tasklets are two different mechanisms. Tasklets handle most deferred work, but network, timer and block tasks are managed directly by softirqs. Confusion comes from the realization that the softirq interface via ksoftirqd also manages tasklets. In the RT kernel, hard IRQs themselves run as preemptible threads. What precisely are softirqs and why does the kernel have them? How does handling of deferred work differ with the PREEMPT_RT_FULL kernel? These and related mysteries will be illustrated via results from tools like bpf, event tracers and mpstat that show how to detect IRQ scheduling problems in x86, arm and arm64.
About Alison Chaiken
Alison has been an automotive systems programmer and kernel engineer since 2011 and has worked at Nokia, Mentor Graphics, and Peloton Technology. In 2014-2015, she collaborated on-site with a customer in Germany. Alison has spoken at events including ELC and ELCE, USENIX, Automotive Linux Summit, Southern California Linux Expo and Maker Faire. She organizes the monthly meetings of the 1800+-member, 15-year-old Silicon Valley Automotive Open Source Group.
Видео IRQs: the Hard, the Soft, the Threaded and the Preemptible канала The Linux Foundation
Показать
Комментарии отсутствуют
Информация о видео
Другие видео канала
Syscalls, Kernel vs. User Mode and Linux Kernel Source Code - bin 0x09Operating System #15 Interrupt Handling Explained in DetailHow Dealing with Modern Interrupt Architectures can Affect Your SanityLecture 9: InterruptsIntroduction to Realtime LinuxThe Tragedy of systemdLiberating Kubernetes From Kube-proxy and Iptables - Martynas Pumputis, CiliumHow to Avoid Writing Device Drivers for Embedded Linux - Chris Simmonds, 2netIntroduction to Memory Management in LinuxLinux Interview Questions And Answers | Linux Administration Tutorial | Linux Training | EdurekaBKK19-TR03 - The Linux Kernel Scheduler - OverviewVirtualization for the Masses: Exposing KVM on Android - Will Deacon, GoogleAudio on Linux: The End of a Golden Age?Groking the Linux SPI Subsystem - Matt Porter, KonsulkoHow to learn to code (quickly and easily!)Linux Internals : Interprocess CommunicationThe Woos and Woes of Open-Source FPGA-ToolsKernel Recipes 2017 - Understanding the Linux Kernel via Ftrace - Steven RostedtLinux User/Kernel ABI: the realities of how C and C++ programs really talk to the OS - Greg Law