--- ./source/private_module/reloc/reloc_v2/relocation_ckg_io.c	2018-02-09 13:47:03.000000000 +0000
+++ ./source/private_module/reloc/reloc_v2/relocation_ckg_io.c.hotpatch	2021-02-02 06:52:16.000000000 +0000
@@ -707,7 +707,7 @@
 
     return ckMoveReq;
 }
-
+bool getRelocDispatchSwitch(void);
 /**************************************************************************
      :  CK MOVE IOĴ
  :  ckgMoveInfo     CK
@@ -728,12 +728,12 @@
     ckMoveInfo->context = context;
 
     g_ckMoveReqNum++;
-
     /* ˫·ǾֲعΪżCK MOVE IOԶִ */
     ckgId = GET_CKG_OBJ_CKG_ID(ckMoveInfo->ckMoveMeta.ckgObjId);
     if ((RELOC_TYPE_PART != ckMoveInfo->ckMoveMeta.moveType)
          && !(TEST_ROOT_CKG_ID(ckgId))
-         && isNeedSendToOtherAndGetTgtNid(&nid))
+         && isNeedSendToOtherAndGetTgtNid(&nid)
+         && B_TRUE == getRelocDispatchSwitch())
     {
         ret = sendCkMoveIoReq(ckMoveInfo, nid);
         /* ͳɹȴԶ˷; Ͳɹڱִ */
--- ./source/private_module/reloc/reloc_v2/relocation_public.c	2018-02-09 13:47:03.000000000 +0000
+++ ./source/private_module/reloc/reloc_v2/relocation_public.c.hotpatch	2021-02-02 06:52:16.000000000 +0000
@@ -1648,4 +1648,18 @@
 EXPORT_SYMBOL(checkTierNeedLevel);
 EXPORT_SYMBOL(regRelocationQosCtrl);
 
+bool g_relocDispatchSwitch = B_TRUE;  /* عCKGķַ */
+void setRelocDispatchSwitch(bool dispatchSwitch)
+{
+    DBG_LogInfo(DBG_LOGID_NEW, "Set dispatch switch from %u to %u.", g_relocDispatchSwitch, dispatchSwitch);
+    g_relocDispatchSwitch = dispatchSwitch;
+    return;
+}
+bool getRelocDispatchSwitch(void)
+{
+    return g_relocDispatchSwitch;
+}
+
+EXPORT_SYMBOL(setRelocDispatchSwitch);
+
 
