You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by GitBox <gi...@apache.org> on 2021/07/02 03:48:16 UTC

[GitHub] [incubator-nuttx] GUIDINGLI commented on a change in pull request #4016: Add heap & stack check to idle thread

GUIDINGLI commented on a change in pull request #4016:
URL: https://github.com/apache/incubator-nuttx/pull/4016#discussion_r662717400



##########
File path: sched/init/nx_start.c
##########
@@ -789,17 +789,35 @@ void nx_start(void)
   sinfo("CPU0: Beginning Idle Loop\n");
   for (; ; )
     {
-      /* Check heap & stack in idle thread */
+#if defined(CONFIG_STACK_COLORATION) && CONFIG_STACK_USAGE_SAFE_PERCENT > 0
 
-      kmm_checkcorruption();
+      /* Check stack in idle thread */
 
-#if defined(CONFIG_STACK_COLORATION) && defined(CONFIG_DEBUG_MM)
-      for (i = 0; i < CONFIG_MAX_TASKS && g_pidhash[i].tcb; i++)
+      for (i = 0; i < CONFIG_MAX_TASKS; i++)
         {
-          assert(up_check_tcbstack_remain(g_pidhash[i].tcb) > 0);
+          FAR struct tcb_s *tcb;
+          irqstate_t flags;
+
+          flags = enter_critical_section();

Review comment:
       Yes, you are right, so I add debug config CONFIG_STACK_USAGE_SAFE_PERCENT, default NOT open.
   In the production code, this feature should be closed, but it is useful for project developing & debugging.
   
   would be better as separate task that can report the margin 
   ---- Where ?  each task report its own task usage ? 
    Or create a debugging thread to only check this, then the priority is ?  I this there is no difference with IDLE thread.
   
   Once there is stack overflow, then report or PANIC is no difference. IN the production code we will code PANIC debug.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscribe@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org