... used greatest stack depth: xxx bytes left

Configuration item: CONFIG_DEBUG_STACK_USAGE
Code location: kernel/exit.c
Function: Will let the kernel monitor the use of the stack (print the maximum stack depth), and output some statistical information through the sysrq key.

#ifdef CONFIG_DEBUG_STACK_USAGE
static void check_stack_usage(void)
{
    
    
	static DEFINE_SPINLOCK(low_water_lock);
	static int lowest_to_date = THREAD_SIZE;
	unsigned long free;

	free = stack_not_used(current);

	if (free >= lowest_to_date)
		return;

	spin_lock(&low_water_lock);
	if (free < lowest_to_date) {
    
    
		pr_info("%s (%d) used greatest stack depth: %lu bytes left\n",
			current->comm, task_pid_nr(current), free);
		lowest_to_date = free;
	}
	spin_unlock(&low_water_lock);
}
#else
static inline void check_stack_usage(void) {
    
    }
#endif

Guess you like

Origin blog.csdn.net/furongwei123/article/details/122665542