Re: [PATCH v2] x86/xen: Combine PV features to be disabled in xen_nopv

From: kbuild test robot
Date: Wed May 30 2018 - 11:27:15 EST


Hi Konrad,

I love your patch! Yet something to improve:

[auto build test ERROR on xen-tip/linux-next]
[also build test ERROR on v4.17-rc7 next-20180529]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url: https://github.com/0day-ci/linux/commits/Joao-Martins/x86-xen-Combine-PV-features-to-be-disabled-in-xen_nopv/20180530-031040
base: https://git.kernel.org/pub/scm/linux/kernel/git/xen/tip.git linux-next
config: x86_64-randconfig-s4-05301434 (attached as .config)
compiler: gcc-7 (Debian 7.3.0-16) 7.3.0
reproduce:
# save the attached .config to linux build tree
make ARCH=x86_64

All errors (new ones prefixed by >>):

arch/x86/xen/smp.o: In function `xen_smp_intr_init':
>> arch/x86/xen/smp.c:76: undefined reference to `xen_nopv_ipi'
arch/x86/xen/spinlock.o: In function `xen_init_lock_cpu':
>> arch/x86/xen/spinlock.c:82: undefined reference to `xen_nopv_spin'
arch/x86/xen/spinlock.o: In function `xen_uninit_lock_cpu':
arch/x86/xen/spinlock.c:110: undefined reference to `xen_nopv_spin'
arch/x86/xen/spinlock.o: In function `xen_parse_nopvspin':
>> arch/x86/xen/spinlock.c:148: undefined reference to `xen_set_nopv'
arch/x86/xen/spinlock.o: In function `xen_init_spinlocks':
arch/x86/xen/spinlock.c:132: undefined reference to `xen_nopv_spin'

vim +76 arch/x86/xen/smp.c

61
62 int xen_smp_intr_init(unsigned int cpu)
63 {
64 int rc;
65 char *resched_name, *callfunc_name, *debug_name;
66
67 debug_name = kasprintf(GFP_KERNEL, "debug%d", cpu);
68 rc = bind_virq_to_irqhandler(VIRQ_DEBUG, cpu, xen_debug_interrupt,
69 IRQF_PERCPU | IRQF_NOBALANCING,
70 debug_name, NULL);
71 if (rc < 0)
72 goto fail;
73 per_cpu(xen_debug_irq, cpu).irq = rc;
74 per_cpu(xen_debug_irq, cpu).name = debug_name;
75
> 76 if (xen_hvm_domain() && xen_nopv_ipi())
77 return 0;
78
79 resched_name = kasprintf(GFP_KERNEL, "resched%d", cpu);
80 rc = bind_ipi_to_irqhandler(XEN_RESCHEDULE_VECTOR,
81 cpu,
82 xen_reschedule_interrupt,
83 IRQF_PERCPU|IRQF_NOBALANCING,
84 resched_name,
85 NULL);
86 if (rc < 0)
87 goto fail;
88 per_cpu(xen_resched_irq, cpu).irq = rc;
89 per_cpu(xen_resched_irq, cpu).name = resched_name;
90
91 callfunc_name = kasprintf(GFP_KERNEL, "callfunc%d", cpu);
92 rc = bind_ipi_to_irqhandler(XEN_CALL_FUNCTION_VECTOR,
93 cpu,
94 xen_call_function_interrupt,
95 IRQF_PERCPU|IRQF_NOBALANCING,
96 callfunc_name,
97 NULL);
98 if (rc < 0)
99 goto fail;
100 per_cpu(xen_callfunc_irq, cpu).irq = rc;
101 per_cpu(xen_callfunc_irq, cpu).name = callfunc_name;
102
103 callfunc_name = kasprintf(GFP_KERNEL, "callfuncsingle%d", cpu);
104 rc = bind_ipi_to_irqhandler(XEN_CALL_FUNCTION_SINGLE_VECTOR,
105 cpu,
106 xen_call_function_single_interrupt,
107 IRQF_PERCPU|IRQF_NOBALANCING,
108 callfunc_name,
109 NULL);
110 if (rc < 0)
111 goto fail;
112 per_cpu(xen_callfuncsingle_irq, cpu).irq = rc;
113 per_cpu(xen_callfuncsingle_irq, cpu).name = callfunc_name;
114
115 return 0;
116
117 fail:
118 xen_smp_intr_free(cpu);
119 return rc;
120 }
121

---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation

Attachment: .config.gz
Description: application/gzip