genirq/affinity: Remove old irq spread infrastructure
authorThomas Gleixner <tglx@linutronix.de>
Wed, 14 Sep 2016 14:18:50 +0000 (16:18 +0200)
committerThomas Gleixner <tglx@linutronix.de>
Wed, 14 Sep 2016 20:11:09 +0000 (22:11 +0200)
No more users.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Christoph Hellwig <hch@lst.de>
Cc: axboe@fb.com
Cc: keith.busch@intel.com
Cc: agordeev@redhat.com
Cc: linux-block@vger.kernel.org
Link: http://lkml.kernel.org/r/1473862739-15032-5-git-send-email-hch@lst.de
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
include/linux/interrupt.h
kernel/irq/affinity.c

index 4e59d12..72f0721 100644 (file)
@@ -278,7 +278,6 @@ extern int irq_set_affinity_hint(unsigned int irq, const struct cpumask *m);
 extern int
 irq_set_affinity_notifier(unsigned int irq, struct irq_affinity_notify *notify);
 
-struct cpumask *irq_create_affinity_mask(unsigned int *nr_vecs);
 struct cpumask *irq_create_affinity_masks(const struct cpumask *affinity, int nvec);
 int irq_calc_affinity_vectors(const struct cpumask *affinity, int maxvec);
 
@@ -313,12 +312,6 @@ irq_set_affinity_notifier(unsigned int irq, struct irq_affinity_notify *notify)
        return 0;
 }
 
-static inline struct cpumask *irq_create_affinity_mask(unsigned int *nr_vecs)
-{
-       *nr_vecs = 1;
-       return NULL;
-}
-
 static inline struct cpumask *
 irq_create_affinity_masks(const struct cpumask *affinity, int nvec)
 {
index 7812fec..17f51d6 100644 (file)
@@ -152,61 +152,3 @@ int irq_calc_affinity_vectors(const struct cpumask *affinity, int maxvec)
        put_online_cpus();
        return ret;
 }
-
-static int get_first_sibling(unsigned int cpu)
-{
-       unsigned int ret;
-
-       ret = cpumask_first(topology_sibling_cpumask(cpu));
-       if (ret < nr_cpu_ids)
-               return ret;
-       return cpu;
-}
-
-/*
- * Take a map of online CPUs and the number of available interrupt vectors
- * and generate an output cpumask suitable for spreading MSI/MSI-X vectors
- * so that they are distributed as good as possible around the CPUs.  If
- * more vectors than CPUs are available we'll map one to each CPU,
- * otherwise we map one to the first sibling of each socket.
- *
- * If there are more vectors than CPUs we will still only have one bit
- * set per CPU, but interrupt code will keep on assigning the vectors from
- * the start of the bitmap until we run out of vectors.
- */
-struct cpumask *irq_create_affinity_mask(unsigned int *nr_vecs)
-{
-       struct cpumask *affinity_mask;
-       unsigned int max_vecs = *nr_vecs;
-
-       if (max_vecs == 1)
-               return NULL;
-
-       affinity_mask = kzalloc(cpumask_size(), GFP_KERNEL);
-       if (!affinity_mask) {
-               *nr_vecs = 1;
-               return NULL;
-       }
-
-       get_online_cpus();
-       if (max_vecs >= num_online_cpus()) {
-               cpumask_copy(affinity_mask, cpu_online_mask);
-               *nr_vecs = num_online_cpus();
-       } else {
-               unsigned int vecs = 0, cpu;
-
-               for_each_online_cpu(cpu) {
-                       if (cpu == get_first_sibling(cpu)) {
-                               cpumask_set_cpu(cpu, affinity_mask);
-                               vecs++;
-                       }
-
-                       if (--max_vecs == 0)
-                               break;
-               }
-               *nr_vecs = vecs;
-       }
-       put_online_cpus();
-
-       return affinity_mask;
-}