lkml.org 
[lkml]   [2018]   [Jun]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] x86/platform/uv/BAU: gracefully disable BAU during panic
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
[unhandled content-type:application/gzip]
\
 
 \ /
  Last update: 2018-06-03 21:12    [W:0.065 / U:0.064 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site