diff mbox series

[2/2] powerpc/mobility: disabling hard lockup watchdog during LPM

Message ID 20220601155315.35109-3-ldufour@linux.ibm.com (mailing list archive)
State Superseded
Headers show
Series Disabling NMI watchdog during LPM's memory transfer | expand

Checks

Context Check Description
snowpatch_ozlabs/github-powerpc_ppctests success Successfully ran 10 jobs.
snowpatch_ozlabs/github-powerpc_selftests success Successfully ran 10 jobs.
snowpatch_ozlabs/github-powerpc_kernel_qemu success Successfully ran 23 jobs.
snowpatch_ozlabs/github-powerpc_sparse success Successfully ran 4 jobs.
snowpatch_ozlabs/github-powerpc_clang success Successfully ran 7 jobs.

Commit Message

Laurent Dufour June 1, 2022, 3:53 p.m. UTC
Disabling the Hard Lockup Watchdog until the memory transfer is complete.

This avoids hard lockup seen while the memory is still in progress when the
system is heavily loaded and a lot of pages are still not transferred on
the arrival side.

Signed-off-by: Laurent Dufour <ldufour@linux.ibm.com>
---
 arch/powerpc/platforms/pseries/mobility.c | 6 ++++++
 1 file changed, 6 insertions(+)

Comments

kernel test robot June 6, 2022, 1:41 a.m. UTC | #1
Hi Laurent,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on powerpc/next]
[also build test ERROR on v5.18 next-20220603]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/intel-lab-lkp/linux/commits/Laurent-Dufour/Disabling-NMI-watchdog-during-LPM-s-memory-transfer/20220601-235741
base:   https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git next
config: powerpc64-randconfig-r002-20220605 (https://download.01.org/0day-ci/archive/20220606/202206060910.rYNTFqdI-lkp@intel.com/config)
compiler: powerpc64-linux-gcc (GCC) 11.3.0
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://github.com/intel-lab-lkp/linux/commit/d409d8549db37257e33691523100679a23cfd887
        git remote add linux-review https://github.com/intel-lab-lkp/linux
        git fetch --no-tags linux-review Laurent-Dufour/Disabling-NMI-watchdog-during-LPM-s-memory-transfer/20220601-235741
        git checkout d409d8549db37257e33691523100679a23cfd887
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.3.0 make.cross W=1 O=build_dir ARCH=powerpc SHELL=/bin/bash

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

   powerpc64-linux-ld: warning: discarding dynamic section .glink
   powerpc64-linux-ld: warning: discarding dynamic section .plt
   powerpc64-linux-ld: linkage table error against `watchdog_nmi_stop'
   powerpc64-linux-ld: stubs don't match calculated size
   powerpc64-linux-ld: can not build stubs: bad value
   powerpc64-linux-ld: arch/powerpc/platforms/pseries/mobility.o: in function `.pseries_migrate_partition':
>> arch/powerpc/platforms/pseries/mobility.c:705: undefined reference to `.watchdog_nmi_stop'
>> powerpc64-linux-ld: arch/powerpc/platforms/pseries/mobility.c:715: undefined reference to `.watchdog_nmi_start'


vim +705 arch/powerpc/platforms/pseries/mobility.c

   693	
   694	static int pseries_migrate_partition(u64 handle)
   695	{
   696		int ret;
   697	
   698		ret = wait_for_vasi_session_suspending(handle);
   699		if (ret)
   700			return ret;
   701	
   702		vas_migration_handler(VAS_SUSPEND);
   703	
   704		pr_debug("Disabling the NMI watchdog\n");
 > 705		watchdog_nmi_stop();
   706	
   707		ret = pseries_suspend(handle);
   708		if (ret == 0) {
   709			post_mobility_fixup();
   710			wait_for_vasi_session_completed(handle);
   711		} else
   712			pseries_cancel_migration(handle, ret);
   713	
   714		pr_debug("Enabling the NMI watchdog again\n");
 > 715		watchdog_nmi_start();
   716	
   717		vas_migration_handler(VAS_RESUME);
   718	
   719		return ret;
   720	}
   721
diff mbox series

Patch

diff --git a/arch/powerpc/platforms/pseries/mobility.c b/arch/powerpc/platforms/pseries/mobility.c
index 55612a1b07d6..061d4faefefb 100644
--- a/arch/powerpc/platforms/pseries/mobility.c
+++ b/arch/powerpc/platforms/pseries/mobility.c
@@ -701,6 +701,9 @@  static int pseries_migrate_partition(u64 handle)
 
 	vas_migration_handler(VAS_SUSPEND);
 
+	pr_debug("Disabling the NMI watchdog\n");
+	watchdog_nmi_stop();
+
 	ret = pseries_suspend(handle);
 	if (ret == 0) {
 		post_mobility_fixup();
@@ -708,6 +711,9 @@  static int pseries_migrate_partition(u64 handle)
 	} else
 		pseries_cancel_migration(handle, ret);
 
+	pr_debug("Enabling the NMI watchdog again\n");
+	watchdog_nmi_start();
+
 	vas_migration_handler(VAS_RESUME);
 
 	return ret;