Re: [PATCH] x86/platform/uv/BAU: gracefully disable BAU during panic
From: kbuild test robot
Date: Sun Jun 03 2018 - 15:11:08 EST
Hi Andrew,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on tip/auto-latest]
[also build test ERROR on v4.17-rc7 next-20180601]
[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/Andrew-Banman/x86-platform-uv-BAU-gracefully-disable-BAU-during-panic/20180604-005410
config: x86_64-allyesconfig (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 error/warnings (new ones prefixed by >>):
In file included from arch/x86/platform/uv/tlb_uv.c:19:0:
arch/x86/platform/uv/tlb_uv.c: In function 'uv_bau_crash_shutdown':
>> arch/x86/platform/uv/tlb_uv.c:2211:26: error: 'uvhub' undeclared (first use in this function)
for_each_possible_blade(uvhub) {
^
arch/x86/include/asm/uv/uv_hub.h:437:8: note: in definition of macro 'for_each_possible_blade'
for ((bid) = 0; (bid) < uv_num_possible_blades(); (bid)++)
^~~
arch/x86/platform/uv/tlb_uv.c:2211:26: note: each undeclared identifier is reported only once for each function it appears in
for_each_possible_blade(uvhub) {
^
arch/x86/include/asm/uv/uv_hub.h:437:8: note: in definition of macro 'for_each_possible_blade'
for ((bid) = 0; (bid) < uv_num_possible_blades(); (bid)++)
^~~
>> arch/x86/platform/uv/tlb_uv.c:2214:3: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
int pnode = uv_blade_to_pnode(uvhub);
^~~
vim +/uvhub +2211 arch/x86/platform/uv/tlb_uv.c
2200
2201 #ifdef CONFIG_KEXEC_CORE
2202 /*
2203 * Bring BAU to quiesence by disabling future broadcasts and abandoning
2204 * current broadcasts during panic.
2205 */
2206 void uv_bau_crash_shutdown(struct pt_regs *regs)
2207 {
2208 set_bau_off();
2209 nobau_perm = 1;
2210
> 2211 for_each_possible_blade(uvhub) {
2212 if (!uv_blade_nr_possible_cpus(uvhub))
2213 continue;
> 2214 int pnode = uv_blade_to_pnode(uvhub);
2215 /* Set STATUS registers to idle to free source cpus */
2216 write_gmmr(pnode, UVH_LB_BAU_SB_ACTIVATION_STATUS_0, 0x0);
2217 write_gmmr(pnode, UVH_LB_BAU_SB_ACTIVATION_STATUS_1, 0x0);
2218 write_gmmr(pnode, UVH_LB_BAU_SB_ACTIVATION_STATUS_2, 0x0);
2219 /* Clear TIMEOUT and PENDING bits to free up BAU resources */
2220 ops.write_g_sw_ack(pnode, ops.read_g_sw_ack(pnode) & 0xFFFF);
2221 }
2222
2223 native_machine_crash_shutdown(regs);
2224 }
2225 #endif
2226
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
Attachment:
.config.gz
Description: application/gzip