--- ./source/private_module/cmm/cmm_diagnose.c	2018-12-02 02:40:58.000000000 +0800
+++ ./source/private_module/cmm/cmm_diagnose.c.hotpatch	2018-12-02 02:40:58.000000000 +0800
@@ -2858,17 +2858,17 @@
 LOCAL_FUN void dc_show_slab_usage(diagnose_work_space_t *dws)
 {
     uint32_t part_id = get_u32_para(dws, 0);
-    struct cmm_slab_partition_s *slab_part =
-        cmm_get_slab_part(part_id);
-
+    struct cmm_slab_partition_s *slab_part = cmm_get_slab_part(part_id);
     if(!slab_part)
     {
-        DBG_Print("part %u is NOT a slab part\n",
-                  part_id);
-
+        DBG_Print("part %u is NOT a slab part\n", part_id);
+        return;
+    }
+    if (slab_part->comm.part_owner == 302 || slab_part->comm.part_owner == 350)
+    {
+        DBG_Print("Plugin no need show mid 302 and 350 usage info.\n");
         return;
     }
-
     cmm_slab_part_print_usage_of_objs_to_diagnose(slab_part);
 }
 
--- ./source/private_module/cmm/cmm_fmea.c	2018-12-02 02:40:58.000000000 +0800
+++ ./source/private_module/cmm/cmm_fmea.c.hotpatch	2018-12-02 02:40:58.000000000 +0800
@@ -252,17 +252,17 @@
     struct cmm_slab_partition_s* slab_part;
     cmm_page_partition_t *page_part = cmm_get_global_page_part();
     uint32_t part_id;
-    g_minutes++;
+
     g_minutes_for_page++;
     
-    if (g_minutes > Clear_Part_Log_Flag_Period)
-    {
-        g_minutes = 0;
-        cmm_for_each_running_slab_part(slab_part, part_id)
-        {
-            cmm_set_part_runtime_attr(CMM_PART_RT_ATTR_BIT_PRINT_ALLOC_FAILURE, &(slab_part->comm.runtime_attr));           
-        }    
-    }
+
+
+
+
+
+
+
+
 
     if (g_minutes_for_page > Clear_Page_Log_Flag_Period)
     {
@@ -433,7 +433,7 @@
     uint64_t leaked_count;
     uint64_t leak_timeout;
 };
-
+int32_t check_travel_timeout_for_plugin(struct slab_travel_timeout_para_s * travel_para);
 LOCAL_FUN int32_t leak_check_task_record_timeout_leak_info(
     struct cmm_obj_ctrl_s *obj,
     void *addr,
@@ -450,7 +450,7 @@
         lcp->leaked_count++;
     }
 
-    if (TRUE == check_travel_timeout(&(lcp->travel_para)))
+    if (TRUE == check_travel_timeout_for_plugin(&(lcp->travel_para)))
     {
         return 1;
     }
@@ -489,7 +489,7 @@
     {
         leak_check_para.leaked_count  = 0;
         leak_check_para.leak_timeout = cmm_get_part_leak_timeout_jif(slab_part);
-        init_travel_para(&(leak_check_para.travel_para), slab_part, LVOS_GetMilliSecond(), (uint64_t)SLAB_PART_TRAVEL_TIMEOUT_MS);
+        init_travel_para(&(leak_check_para.travel_para), slab_part, LVOS_GetMilliSecond(), 400);
         
         cmm_slab_part_travel(slab_part,
                              leak_check_task_record_timeout_leak_info,
@@ -723,7 +723,7 @@
             addr, obj->owner_func, obj->owner_modid);
     }
     
-    if (TRUE == check_travel_timeout(&(cmp->travel_para)))
+    if (TRUE == check_travel_timeout_for_plugin(&(cmp->travel_para)))
     {
         return 1;
     }
@@ -759,7 +759,7 @@
     cmm_for_each_running_slab_part_from(slab_part, part_id, s_part_id_of_next_slab_magic_check_cycle)
     {
         slab_magic_check_para.slab_part = slab_part;
-        init_travel_para(&(slab_magic_check_para.travel_para), slab_part, LVOS_GetMilliSecond(), SLAB_PART_TRAVEL_TIMEOUT_MS);
+        init_travel_para(&(slab_magic_check_para.travel_para), slab_part, LVOS_GetMilliSecond(), 400);
 
         cmm_slab_part_travel(slab_part,
                          override_check_slab_obj_magic,
@@ -989,3 +989,34 @@
 }
 
 #endif
+uint32_t travel_timeout_print = 0;
+int32_t check_travel_timeout_for_plugin(struct slab_travel_timeout_para_s * travel_para)
+{
+    uint64_t cur_ms;
+    
+    if (travel_para->travel_count >= 500000)
+    {
+        travel_para->travel_count = 0;
+        travel_para->reset_count++;
+        cur_ms = LVOS_GetMilliSecond();
+        
+        if ((travel_para->travel_starttime + travel_para->travel_timeout) <= cur_ms)
+        {
+            if (travel_timeout_print % 20 == 0)
+            {
+                DBG_LogWarning(CMM_LOG_ID, "Slab part(%u) travel timeout(ms), starttime(%llu), timeout(%llu), resetcnt(%llu), endtime(%llu).", 
+                                                    travel_para->slab_part->comm.part_id,
+                                                    travel_para->travel_starttime,
+                                                    travel_para->travel_timeout,
+                                                    travel_para->reset_count,
+                                                    cur_ms);
+            }
+            travel_timeout_print++;
+            return TRUE;
+        }
+    }
+
+    travel_para->travel_count++;
+    return FALSE;
+}
+
--- ./source/private_module/cmm/cmm_part_slab.c	2018-12-02 02:40:58.000000000 +0800
+++ ./source/private_module/cmm/cmm_part_slab.c.hotpatch	2018-12-02 02:40:58.000000000 +0800
@@ -487,7 +487,7 @@
         return;
     }
 
-    init_travel_para(&(info->travel_para), slab_part, LVOS_GetMilliSecond(), (uint64_t)SLAB_PART_TRAVEL_TIMEOUT_MS * 3);
+    init_travel_para(&(info->travel_para), slab_part, LVOS_GetMilliSecond(), (uint64_t)SLAB_PART_TRAVEL_TIMEOUT_MS * 2);
 
     cmm_slab_part_travel(slab_part,
                          count_slab_obj_usage,
