IRQ naming and routing

Session information has not yet been published for this event.

Scheduled: Friday, September 9, 2011 from 1:30 – 2:20pm in Alexander Valley Ball Room

One Line Summary

Most modern network and storage controllers have multiple interrupts but Linux kernel has inconsistent management


Interrupt Request management is one of those areas where Linux kernel has taken a lasseiz-faire attitude. There is a /proc interface to control the binding of IRQ’s to cpu’s but the policy is left to user space. There is a tool irqbalance that attempts to solve this problem but it has not kept up with current technology.

Modern network and storage controllers have multiple request queue’s and multiple interrupts. The problem is that these IRQ’s are not named consistently, and the mapping from IRQ to queue is not communicated effectively through sysfs. The irqbalance program doesn’t have the code or the necessary interfaces to do the right thing.

My proposal is that the kernel provide a basic set of infrastructure to handle these types of devices. The default policy without userspace should be correct (if not optimal), and the interfaces should be available to create irq management in userspace

Presentation Materials



  • Stephen_hemminger


    Stephen Hemminger is a Linux developer who specializes in kernel
    networking issues. Having been involved with TCP/IP since the early
    days of UNIX, he is familar with the congestion and SMP issues.
    Some of his projects have been integrating TCP congestion control,
    bridging, network emulation and network drivers.
    Steve works on so integrating so many different networking pieces
    that he decided to give himself the title of Network Plumber.