Hi all, On Tue, 27 Aug 2024 12:50:43 +1000 Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote: > > After merging the tip tree, today's linux-next build (x86_64 allmodconfig) > failed like this: In file included from include/asm-generic/percpu.h:7, from arch/x86/include/asm/percpu.h:616, from arch/x86/include/asm/preempt.h:6, from include/linux/preempt.h:79, from include/linux/spinlock.h:56, from include/linux/irq.h:14, from kernel/irq/manage.c:11: kernel/irq/manage.c: In function 'irq_do_set_affinity': include/linux/percpu-defs.h:92:40: error: section attribute cannot be specified for local variables 92 | extern __PCPU_DUMMY_ATTRS char __pcpu_unique_##name; \ | ^~~~~~~~~~~~~~ include/linux/percpu-defs.h:115:9: note: in expansion of macro 'DEFINE_PER_CPU_SECTION' 115 | DEFINE_PER_CPU_SECTION(type, name, "") | ^~~~~~~~~~~~~~~~~~~~~~ kernel/irq/manage.c:230:16: note: in expansion of macro 'DEFINE_PER_CPU' 230 | static DEFINE_PER_CPU(struct cpumask, __tmp_mask); | ^~~~~~~~~~~~~~ include/linux/percpu-defs.h:93:33: error: section attribute cannot be specified for local variables 93 | __PCPU_DUMMY_ATTRS char __pcpu_unique_##name; \ | ^~~~~~~~~~~~~~ include/linux/percpu-defs.h:115:9: note: in expansion of macro 'DEFINE_PER_CPU_SECTION' 115 | DEFINE_PER_CPU_SECTION(type, name, "") | ^~~~~~~~~~~~~~~~~~~~~~ kernel/irq/manage.c:230:16: note: in expansion of macro 'DEFINE_PER_CPU' 230 | static DEFINE_PER_CPU(struct cpumask, __tmp_mask); | ^~~~~~~~~~~~~~ include/linux/percpu-defs.h:93:33: error: declaration of '__pcpu_unique___tmp_mask' with no linkage follows extern declaration 93 | __PCPU_DUMMY_ATTRS char __pcpu_unique_##name; \ | ^~~~~~~~~~~~~~ include/linux/percpu-defs.h:115:9: note: in expansion of macro 'DEFINE_PER_CPU_SECTION' 115 | DEFINE_PER_CPU_SECTION(type, name, "") | ^~~~~~~~~~~~~~~~~~~~~~ kernel/irq/manage.c:230:16: note: in expansion of macro 'DEFINE_PER_CPU' 230 | static DEFINE_PER_CPU(struct cpumask, __tmp_mask); | ^~~~~~~~~~~~~~ include/linux/percpu-defs.h:92:40: note: previous declaration of '__pcpu_unique___tmp_mask' with type 'char' 92 | extern __PCPU_DUMMY_ATTRS char __pcpu_unique_##name; \ | ^~~~~~~~~~~~~~ include/linux/percpu-defs.h:115:9: note: in expansion of macro 'DEFINE_PER_CPU_SECTION' 115 | DEFINE_PER_CPU_SECTION(type, name, "") | ^~~~~~~~~~~~~~~~~~~~~~ kernel/irq/manage.c:230:16: note: in expansion of macro 'DEFINE_PER_CPU' 230 | static DEFINE_PER_CPU(struct cpumask, __tmp_mask); | ^~~~~~~~~~~~~~ kernel/irq/manage.c:230:47: error: section attribute cannot be specified for local variables 230 | static DEFINE_PER_CPU(struct cpumask, __tmp_mask); | ^~~~~~~~~~ include/linux/percpu-defs.h:94:51: note: in definition of macro 'DEFINE_PER_CPU_SECTION' 94 | extern __PCPU_ATTRS(sec) __typeof__(type) name; \ | ^~~~ kernel/irq/manage.c:230:16: note: in expansion of macro 'DEFINE_PER_CPU' 230 | static DEFINE_PER_CPU(struct cpumask, __tmp_mask); | ^~~~~~~~~~~~~~ kernel/irq/manage.c:230:47: error: section attribute cannot be specified for local variables 230 | static DEFINE_PER_CPU(struct cpumask, __tmp_mask); | ^~~~~~~~~~ include/linux/percpu-defs.h:95:51: note: in definition of macro 'DEFINE_PER_CPU_SECTION' 95 | __PCPU_ATTRS(sec) __weak __typeof__(type) name | ^~~~ kernel/irq/manage.c:230:16: note: in expansion of macro 'DEFINE_PER_CPU' 230 | static DEFINE_PER_CPU(struct cpumask, __tmp_mask); | ^~~~~~~~~~~~~~ kernel/irq/manage.c:230:47: error: weak declaration of '__tmp_mask' must be public 230 | static DEFINE_PER_CPU(struct cpumask, __tmp_mask); | ^~~~~~~~~~ include/linux/percpu-defs.h:95:51: note: in definition of macro 'DEFINE_PER_CPU_SECTION' 95 | __PCPU_ATTRS(sec) __weak __typeof__(type) name | ^~~~ kernel/irq/manage.c:230:16: note: in expansion of macro 'DEFINE_PER_CPU' 230 | static DEFINE_PER_CPU(struct cpumask, __tmp_mask); | ^~~~~~~~~~~~~~ kernel/irq/manage.c:230:47: error: declaration of '__tmp_mask' with no linkage follows extern declaration 230 | static DEFINE_PER_CPU(struct cpumask, __tmp_mask); | ^~~~~~~~~~ include/linux/percpu-defs.h:95:51: note: in definition of macro 'DEFINE_PER_CPU_SECTION' 95 | __PCPU_ATTRS(sec) __weak __typeof__(type) name | ^~~~ kernel/irq/manage.c:230:16: note: in expansion of macro 'DEFINE_PER_CPU' 230 | static DEFINE_PER_CPU(struct cpumask, __tmp_mask); | ^~~~~~~~~~~~~~ kernel/irq/manage.c:230:47: note: previous declaration of '__tmp_mask' with type 'struct cpumask' 230 | static DEFINE_PER_CPU(struct cpumask, __tmp_mask); | ^~~~~~~~~~ include/linux/percpu-defs.h:94:51: note: in definition of macro 'DEFINE_PER_CPU_SECTION' 94 | extern __PCPU_ATTRS(sec) __typeof__(type) name; \ | ^~~~ kernel/irq/manage.c:230:16: note: in expansion of macro 'DEFINE_PER_CPU' 230 | static DEFINE_PER_CPU(struct cpumask, __tmp_mask); | ^~~~~~~~~~~~~~ > Caused by commit > > 6c70d79f363c ("genirq: Get rid of global lock in irq_do_set_affinity()") > > I have reverted that commit for today. -- Cheers, Stephen Rothwell
Attachment:
pgpNwrjlM26Qr.pgp
Description: OpenPGP digital signature