genirq: Add CPU mask affinity hint
authorPeter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>
Fri, 30 Apr 2010 21:44:50 +0000 (14:44 -0700)
committerThomas Gleixner <tglx@linutronix.de>
Mon, 3 May 2010 09:50:57 +0000 (11:50 +0200)
commite7a297b0d7d6049bd4e423ac1e17da31e4c401b8
treef10f12806a637b09bec89ef5428d981c4c1a4bc9
parent6932bf37bed45ce8ed531928b1b0f98162fe6df6
genirq: Add CPU mask affinity hint

This patch adds a cpumask affinity hint to the irq_desc structure,
along with a registration function and a read-only proc entry for each
interrupt.

This affinity_hint handle for each interrupt can be used by underlying
drivers that need a better mechanism to control interrupt affinity.
The underlying driver can register a cpumask for the interrupt, which
will allow the driver to provide the CPU mask for the interrupt to
anything that requests it.  The intent is to extend the userspace
daemon, irqbalance, to help hint to it a preferred CPU mask to balance
the interrupt into.

[ tglx: Fixed compile warnings, added WARN_ON, made SMP only ]

Signed-off-by: Peter P Waskiewicz Jr <peter.p.waskiewicz.jr@intel.com>
Cc: davem@davemloft.net
Cc: arjan@linux.jf.intel.com
Cc: bhutchings@solarflare.com
LKML-Reference: <20100430214445.3992.41647.stgit@ppwaskie-hc2.jf.intel.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
include/linux/interrupt.h
include/linux/irq.h
kernel/irq/manage.c
kernel/irq/proc.c