Re: [PATCH] x86/platform/uv/BAU: gracefully disable BAU during panic

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux