genirq/affinity: Add support for allocating interrupt sets
A driver may have a need to allocate multiple sets of MSI/MSI-X interrupts, and have them appropriately affinitized. Add support for defining a number of sets in the irq_affinity structure, of varying sizes, and get each set affinitized correctly across the machine. [ tglx: Minor changelog tweaks ] Signed-off-by: Jens Axboe <axboe@kernel.dk> Signed-off-by: Ming Lei <ming.lei@redhat.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Reviewed-by: Hannes Reinecke <hare@suse.com> Reviewed-by: Ming Lei <ming.lei@redhat.com> Reviewed-by: Keith Busch <keith.busch@intel.com> Reviewed-by: Sagi Grimberg <sagi@grimberg.me> Cc: linux-block@vger.kernel.org Link: https://lkml.kernel.org/r/20181102145951.31979-5-ming.lei@redhat.com
This commit is contained in:

committed by
Thomas Gleixner

parent
060746d9e3
commit
6da4b3ab9a
@@ -247,10 +247,14 @@ struct irq_affinity_notify {
|
||||
* the MSI(-X) vector space
|
||||
* @post_vectors: Don't apply affinity to @post_vectors at end of
|
||||
* the MSI(-X) vector space
|
||||
* @nr_sets: Length of passed in *sets array
|
||||
* @sets: Number of affinitized sets
|
||||
*/
|
||||
struct irq_affinity {
|
||||
int pre_vectors;
|
||||
int post_vectors;
|
||||
int nr_sets;
|
||||
int *sets;
|
||||
};
|
||||
|
||||
#if defined(CONFIG_SMP)
|
||||
|
Reference in New Issue
Block a user