Re: What are managed IRQs?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2021-01-21 16:47:45 [+0100], schwenderjonathan@xxxxxxxxx wrote:
> Hi everyone,
Hi,

> isolcpus has the option `managed_irq`, which supposedly assigns the IRQs to
> housekeeping CPUs if possible. According to the description of isolcpus, the
> affinity of managed IRQs can not be changed via /proc/irq.
> I've searched the kernel documentation and the kernel source code for 
> more information about managed IRQs / managed interrupts, but haven't found 
> any documentation (aside from isolcpus).
> 
> Specifically, I'm interested in what makes managed IRQs different (as in 
> why can't the affinity be changed via procfs), and
> what kind of IRQs are "managed"? 

Having MSI(-X) devices with plenty of interrupts could get in a position
where you run out of vector space to program them. Since they are
per-CPU (based on their use-case) they are only programmed on the CPU
where they are fired.
Changing the affinity will also affect the driver logic. So assuming you
have 4 queue (interrupt) NVME device it hardly makes no sense to have to
interrupts on one CPU. It would make sense not create an interrupt on
the CPU and spread the load across the other queue.

> Also, I'd like to verify if the cmdline parameter `irqaffinity` 
> affects managed IRQs, or if it only modifies the default affinity for IRQs
> which can be changed via procfs.

Does the commit description of
  11ea68f553e24 ("genirq, sched/isolation: Isolate from handling managed interrupts")

  https://git.kernel.org/torvalds/c/11ea68f553e24

help?

> Thanks
> 
> Jonathan

Sebastian



[Index of Archives]     [RT Stable]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux