aboutsummaryrefslogtreecommitdiff
path: root/lib/cpu_rmap.c
AgeCommit message (Collapse)AuthorFilesLines
2013-09-13Remove GENERIC_HARDIRQ config optionMartin Schwidefsky1-6/+0
After the last architecture switched to generic hard irqs the config options HAVE_GENERIC_HARDIRQS & GENERIC_HARDIRQS and the related code for !CONFIG_GENERIC_HARDIRQS can be removed. Signed-off-by: Martin Schwidefsky <[email protected]>
2013-01-11lib: cpu_rmap: avoid flushing all workqueuesDavid Decotigny1-5/+49
In some cases, free_irq_cpu_rmap() is called while holding a lock (eg rtnl). This can lead to deadlocks, because it invokes flush_scheduled_work() which ends up waiting for whole system workqueue to flush, but some pending works might try to acquire the lock we are already holding. This commit uses reference-counting to replace irq_run_affinity_notifiers(). It also removes irq_run_affinity_notifiers() altogether. [[email protected]: eliminate free_cpu_rmap, rename cpu_rmap_reclaim() to cpu_rmap_release(), propagate kref_put() retval from cpu_rmap_put()] Signed-off-by: David Decotigny <[email protected]> Reviewed-by: Ben Hutchings <[email protected]> Acked-by: Eric Dumazet <[email protected]> Reviewed-by: Josh Triplett <[email protected]> Cc: "David S. Miller" <[email protected]> Cc: Or Gerlitz <[email protected]> Acked-by: Amir Vadai <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2012-03-07lib: reduce the use of module.h wherever possiblePaul Gortmaker1-1/+1
For files only using THIS_MODULE and/or EXPORT_SYMBOL, map them onto including export.h -- or if the file isn't even using those, then just delete the include. Fix up any implicit include dependencies that were being masked by module.h along the way. Signed-off-by: Paul Gortmaker <[email protected]>
2011-01-24lib: cpu_rmap: CPU affinity reverse-mappingBen Hutchings1-0/+269
When initiating I/O on a multiqueue and multi-IRQ device, we may want to select a queue for which the response will be handled on the same or a nearby CPU. This requires a reverse-map of IRQ affinity. Add library functions to support a generic reverse-mapping from CPUs to objects with affinity and the specific case where the objects are IRQs. Signed-off-by: Ben Hutchings <[email protected]> Signed-off-by: David S. Miller <[email protected]>