Messages in this thread | | | Date | Fri, 23 Feb 2018 05:18:36 +0800 | From | kbuild test robot <> | Subject | [tip:x86/urgent 3/3] arch/x86//kernel/apic/vector.c:151:11: error: 'struct apic' has no member named 'vector' |
| |
tree: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86/urgent head: f60606c4ce402963dc552c62910ffa7080b4a628 commit: f60606c4ce402963dc552c62910ffa7080b4a628 [3/3] x86/apic/vector: Handle vector release on CPU unplug correctly config: x86_64-randconfig-x017-201807 (attached as .config) compiler: gcc-7 (Debian 7.3.0-1) 7.3.0 reproduce: git checkout f60606c4ce402963dc552c62910ffa7080b4a628 # save the attached .config to linux build tree make ARCH=x86_64
All errors (new ones prefixed by >>):
arch/x86//kernel/apic/vector.c: In function 'apic_update_vector': >> arch/x86//kernel/apic/vector.c:151:11: error: 'struct apic' has no member named 'vector' if (!apic->vector || apicd->vector == MANAGED_IRQ_SHUTDOWN_VECTOR) ^~
vim +151 arch/x86//kernel/apic/vector.c
131 132 static void apic_update_vector(struct irq_data *irqd, unsigned int newvec, 133 unsigned int newcpu) 134 { 135 struct apic_chip_data *apicd = apic_chip_data(irqd); 136 struct irq_desc *desc = irq_data_to_desc(irqd); 137 bool managed = irqd_affinity_is_managed(irqd); 138 139 lockdep_assert_held(&vector_lock); 140 141 trace_vector_update(irqd->irq, newvec, newcpu, apicd->vector, 142 apicd->cpu); 143 144 /* 145 * If there is no vector associated or if the associated vector is 146 * the shutdown vector, which is associated to make PCI/MSI 147 * shutdown mode work, then there is nothing to release. Clear out 148 * prev_vector for this and the offlined target case. 149 */ 150 apicd->prev_vector = 0; > 151 if (!apic->vector || apicd->vector == MANAGED_IRQ_SHUTDOWN_VECTOR) 152 goto setnew; 153 /* 154 * If the target CPU of the previous vector is online, then mark 155 * the vector as move in progress and store it for cleanup when the 156 * first interrupt on the new vector arrives. If the target CPU is 157 * offline then the regular release mechanism via the cleanup 158 * vector is not possible and the vector can be immediately freed 159 * in the underlying matrix allocator. 160 */ 161 if (cpu_online(apicd->cpu)) { 162 apicd->move_in_progress = true; 163 apicd->prev_vector = apicd->vector; 164 apicd->prev_cpu = apicd->cpu; 165 } else { 166 irq_matrix_free(vector_matrix, apicd->cpu, apicd->vector, 167 managed); 168 } 169 170 setnew: 171 apicd->vector = newvec; 172 apicd->cpu = newcpu; 173 BUG_ON(!IS_ERR_OR_NULL(per_cpu(vector_irq, newcpu)[newvec])); 174 per_cpu(vector_irq, newcpu)[newvec] = desc; 175 } 176
--- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation [unhandled content-type:application/gzip] | |