Presented by

  • PJ Waskiewicz

    PJ Waskiewicz
    @ptownpj

    Peter Waskiewicz Jr (PJ) is a Senior Software Engineer in Jump Trading’s core engineering division, focusing on Linux kernel and device driver development and embedded systems. Prior to Jump Trading, PJ spent the majority of his career at Intel, where he was responsible for writing and maintaining several of the Intel Ethernet Linux device drivers, and developing Linux kernel changes for scaling to 10GbE and beyond. PJ was also a Senior Principal Engineer at NetApp in the SolidFire division, where he was the chief Linux kernel and networking architect for the SolidFire scale-out cloud storage platform. He is also an adjunct faculty at Portland State University, teaching OS and Device Drivers in the Electrical and Computer Engineering Department.

Abstract

Interrupt balancing in the Linux kernel has been an area of continuing evolution and spirited discussion. Should the kernel and/or drivers handle it? Should userspace enforce policy? Up until now, the irqbalance daemon in userspace continues to be the defacto source of truth for interrupt balancing across a system. However, irqbalance historically has been targeted at x86-based systems, across mobile, desktop, and server platforms. Assumptions how these platforms work and are presented to the kernel have been baked in over time to the irqbalance core. However, with the rise of more non-x86 systems in spaces like day-to-day desktop systems, and more importantly, the server space, these non-x86 architectures have been pushing irqbalance in new directions. As one of the co-maintainers of irqbalance, this talk will briefly recap LCA 2019 what irqbalance is trying to do on a system, and why. Then the majority of the talk focus on changes to irqbalance over the past few years that have been driven by ARM and RISC-V platforms, and what work still needs to be done. YouTube: https://www.youtube.com/watch?v=mrZHqpw_3N8 LA Archive: http://mirror.linux.org.au/pub/everythingopen/2023/clarendon_room_d/Tuesday/Interrupt_Balancing_Moving_beyond_x86.webm