From 1a538b3997d39f27947117e7d14c993691e8a2ed Mon Sep 17 00:00:00 2001 From: Tingting Yang Date: Tue, 6 Aug 2013 11:12:52 +0800 Subject: [PATCH] msm: move printk out of spin lock low_water_lock cpu3 stuck in printk more time in spin lock low_water_lock cause cpu0 get spin lock fail and system crashed. CRs-Fixed: 969097 Change-Id: I75356a4b4171ae2888ce6cce792f569b5ca8cdcf Signed-off-by: Tingting Yang Signed-off-by: Prasad Sodagudi Signed-off-by: Minming Qi --- kernel/exit.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/kernel/exit.c b/kernel/exit.c index 2c1819419377..ee8c6014e74b 100644 --- a/kernel/exit.c +++ b/kernel/exit.c @@ -717,6 +717,7 @@ static void check_stack_usage(void) static DEFINE_SPINLOCK(low_water_lock); static int lowest_to_date = THREAD_SIZE; unsigned long free; + int islower = false; free = stack_not_used(current); @@ -725,11 +726,15 @@ static void check_stack_usage(void) 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; + islower = true; } spin_unlock(&low_water_lock); + + if (islower) { + pr_info("%s (%d) used greatest stack depth: %lu bytes left\n", + current->comm, task_pid_nr(current), free); + } } #else static inline void check_stack_usage(void) {}