logging: Use spin lock
Updated log_core to use spin lock instead of irq_lock. Refactored z_log_msg_post_finalize function. Update thresholds in the log_stack test. Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
This commit is contained in:
parent
de4b564754
commit
e4bfec8100
2 changed files with 36 additions and 34 deletions
|
@ -127,24 +127,26 @@ static void z_log_msg_post_finalize(void)
|
|||
atomic_val_t cnt = atomic_inc(&buffered_cnt);
|
||||
|
||||
if (panic_mode) {
|
||||
unsigned int key = irq_lock();
|
||||
static struct k_spinlock process_lock;
|
||||
k_spinlock_key_t key = k_spin_lock(&process_lock);
|
||||
(void)log_process();
|
||||
irq_unlock(key);
|
||||
} else if (proc_tid != NULL && cnt == 0) {
|
||||
|
||||
k_spin_unlock(&process_lock, key);
|
||||
} else if (proc_tid != NULL) {
|
||||
if (cnt == 0) {
|
||||
k_timer_start(&log_process_thread_timer,
|
||||
K_MSEC(CONFIG_LOG_PROCESS_THREAD_SLEEP_MS), K_NO_WAIT);
|
||||
} else if (CONFIG_LOG_PROCESS_TRIGGER_THRESHOLD) {
|
||||
if ((cnt == CONFIG_LOG_PROCESS_TRIGGER_THRESHOLD) &&
|
||||
(proc_tid != NULL)) {
|
||||
K_MSEC(CONFIG_LOG_PROCESS_THREAD_SLEEP_MS),
|
||||
K_NO_WAIT);
|
||||
} else if (CONFIG_LOG_PROCESS_TRIGGER_THRESHOLD &&
|
||||
cnt == CONFIG_LOG_PROCESS_TRIGGER_THRESHOLD) {
|
||||
k_timer_stop(&log_process_thread_timer);
|
||||
k_sem_give(&log_process_thread_sem);
|
||||
}
|
||||
} else {
|
||||
/* No action needed. Message processing will be triggered by the
|
||||
* timeout or when number of upcoming messages exceeds the
|
||||
* threshold.
|
||||
*/
|
||||
;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -73,9 +73,9 @@ ZTEST_SUITE(test_log_stack, NULL, NULL, NULL, NULL, after);
|
|||
#define HEXDUMP_USAGE 436
|
||||
#define MORE_ARGS_USAGE 452
|
||||
#elif !defined(CONFIG_LOG_MODE_IMMEDIATE) && defined(CONFIG_NO_OPTIMIZATIONS)
|
||||
#define SIMPLE_USAGE 152
|
||||
#define HEXDUMP_USAGE 152
|
||||
#define MORE_ARGS_USAGE 152
|
||||
#define SIMPLE_USAGE 168
|
||||
#define HEXDUMP_USAGE 168
|
||||
#define MORE_ARGS_USAGE 171
|
||||
#elif defined(CONFIG_LOG_MODE_IMMEDIATE) && defined(CONFIG_NO_OPTIMIZATIONS)
|
||||
#define SIMPLE_USAGE 823
|
||||
#define HEXDUMP_USAGE 823
|
||||
|
@ -113,9 +113,9 @@ ZTEST_SUITE(test_log_stack, NULL, NULL, NULL, NULL, after);
|
|||
#define HEXDUMP_USAGE 416
|
||||
#define MORE_ARGS_USAGE 456
|
||||
#elif !defined(CONFIG_LOG_MODE_IMMEDIATE) && defined(CONFIG_NO_OPTIMIZATIONS)
|
||||
#define SIMPLE_USAGE 224
|
||||
#define HEXDUMP_USAGE 224
|
||||
#define MORE_ARGS_USAGE 240
|
||||
#define SIMPLE_USAGE 256
|
||||
#define HEXDUMP_USAGE 240
|
||||
#define MORE_ARGS_USAGE 272
|
||||
#elif defined(CONFIG_LOG_MODE_IMMEDIATE) && defined(CONFIG_NO_OPTIMIZATIONS)
|
||||
#define SIMPLE_USAGE 876
|
||||
#define HEXDUMP_USAGE 860
|
||||
|
@ -133,9 +133,9 @@ ZTEST_SUITE(test_log_stack, NULL, NULL, NULL, NULL, after);
|
|||
#define HEXDUMP_USAGE 1088
|
||||
#define MORE_ARGS_USAGE 1152
|
||||
#elif !defined(CONFIG_LOG_MODE_IMMEDIATE) && defined(CONFIG_NO_OPTIMIZATIONS)
|
||||
#define SIMPLE_USAGE 528
|
||||
#define HEXDUMP_USAGE 528
|
||||
#define MORE_ARGS_USAGE 560
|
||||
#define SIMPLE_USAGE 576
|
||||
#define HEXDUMP_USAGE 576
|
||||
#define MORE_ARGS_USAGE 608
|
||||
#elif defined(CONFIG_LOG_MODE_IMMEDIATE) && defined(CONFIG_NO_OPTIMIZATIONS)
|
||||
#define SIMPLE_USAGE 1552
|
||||
#define HEXDUMP_USAGE 1536
|
||||
|
@ -153,9 +153,9 @@ ZTEST_SUITE(test_log_stack, NULL, NULL, NULL, NULL, after);
|
|||
#define HEXDUMP_USAGE 456
|
||||
#define MORE_ARGS_USAGE 472
|
||||
#elif !defined(CONFIG_LOG_MODE_IMMEDIATE) && defined(CONFIG_NO_OPTIMIZATIONS)
|
||||
#define SIMPLE_USAGE 208
|
||||
#define HEXDUMP_USAGE 208
|
||||
#define MORE_ARGS_USAGE 208
|
||||
#define SIMPLE_USAGE 240
|
||||
#define HEXDUMP_USAGE 240
|
||||
#define MORE_ARGS_USAGE 240
|
||||
#elif defined(CONFIG_LOG_MODE_IMMEDIATE) && defined(CONFIG_NO_OPTIMIZATIONS)
|
||||
#define SIMPLE_USAGE 880
|
||||
#define HEXDUMP_USAGE 880
|
||||
|
@ -174,8 +174,8 @@ ZTEST_SUITE(test_log_stack, NULL, NULL, NULL, NULL, after);
|
|||
#define MORE_ARGS_USAGE 472
|
||||
#elif !defined(CONFIG_LOG_MODE_IMMEDIATE) && defined(CONFIG_NO_OPTIMIZATIONS)
|
||||
#define SIMPLE_USAGE 304
|
||||
#define HEXDUMP_USAGE 112
|
||||
#define MORE_ARGS_USAGE 208
|
||||
#define HEXDUMP_USAGE 240
|
||||
#define MORE_ARGS_USAGE 240
|
||||
#elif defined(CONFIG_LOG_MODE_IMMEDIATE) && defined(CONFIG_NO_OPTIMIZATIONS)
|
||||
#define SIMPLE_USAGE 896
|
||||
#define HEXDUMP_USAGE 896
|
||||
|
@ -193,9 +193,9 @@ ZTEST_SUITE(test_log_stack, NULL, NULL, NULL, NULL, after);
|
|||
#define HEXDUMP_USAGE 768
|
||||
#define MORE_ARGS_USAGE 736
|
||||
#elif !defined(CONFIG_LOG_MODE_IMMEDIATE) && defined(CONFIG_NO_OPTIMIZATIONS)
|
||||
#define SIMPLE_USAGE 272
|
||||
#define HEXDUMP_USAGE 272
|
||||
#define MORE_ARGS_USAGE 272
|
||||
#define SIMPLE_USAGE 320
|
||||
#define HEXDUMP_USAGE 320
|
||||
#define MORE_ARGS_USAGE 320
|
||||
#elif defined(CONFIG_LOG_MODE_IMMEDIATE) && defined(CONFIG_NO_OPTIMIZATIONS)
|
||||
#define SIMPLE_USAGE 1104
|
||||
#define HEXDUMP_USAGE 1104
|
||||
|
@ -213,9 +213,9 @@ ZTEST_SUITE(test_log_stack, NULL, NULL, NULL, NULL, after);
|
|||
#define HEXDUMP_USAGE 704
|
||||
#define MORE_ARGS_USAGE 736
|
||||
#elif !defined(CONFIG_LOG_MODE_IMMEDIATE) && defined(CONFIG_NO_OPTIMIZATIONS)
|
||||
#define SIMPLE_USAGE 272
|
||||
#define HEXDUMP_USAGE 272
|
||||
#define MORE_ARGS_USAGE 272
|
||||
#define SIMPLE_USAGE 320
|
||||
#define HEXDUMP_USAGE 320
|
||||
#define MORE_ARGS_USAGE 320
|
||||
#elif defined(CONFIG_LOG_MODE_IMMEDIATE) && defined(CONFIG_NO_OPTIMIZATIONS)
|
||||
#define SIMPLE_USAGE 1104
|
||||
#define HEXDUMP_USAGE 1104
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue