summaryrefslogtreecommitdiff
path: root/firmware
diff options
context:
space:
mode:
Diffstat (limited to 'firmware')
-rw-r--r--firmware/kernel/thread.c7
-rw-r--r--firmware/system.c6
2 files changed, 11 insertions, 2 deletions
diff --git a/firmware/kernel/thread.c b/firmware/kernel/thread.c
index 307be7116a..a422624df7 100644
--- a/firmware/kernel/thread.c
+++ b/firmware/kernel/thread.c
@@ -1501,7 +1501,14 @@ static inline void boost_thread(struct thread_entry *thread, bool boost)
if ((thread->cpu_boost != 0) != boost)
{
thread->cpu_boost = boost;
+#ifdef CPU_BOOST_LOGGING
+ const char fmt[] = __FILE__" thread[%s]";
+ char pathbuf[sizeof(fmt) + 32]; /* thread name 32 */
+ snprintf(pathbuf, sizeof(pathbuf), fmt, thread->name);
+ cpu_boost_(boost, pathbuf, __LINE__);
+#else
cpu_boost(boost);
+#endif
}
}
diff --git a/firmware/system.c b/firmware/system.c
index 537e901b05..e2fdff0e59 100644
--- a/firmware/system.c
+++ b/firmware/system.c
@@ -89,6 +89,7 @@ char * cpu_boost_log_getlog_next(void)
void cpu_boost_(bool on_off, char* location, int line)
{
+ int item = cpu_boost_calls_count;
if (!cpu_boost_lock())
return;
@@ -98,12 +99,13 @@ void cpu_boost_(bool on_off, char* location, int line)
cpu_boost_calls_count--;
if (cpu_boost_calls_count < 0)
cpu_boost_calls_count = 0;
+ item += cpu_boost_first;
}
if (cpu_boost_calls_count < MAX_BOOST_LOG)
{
int message = (cpu_boost_first+cpu_boost_calls_count)%MAX_BOOST_LOG;
- snprintf(cpu_boost_calls[message], MAX_PATH,
- "%c %s:%d",on_off?'B':'U',location,line);
+ snprintf(cpu_boost_calls[message], MAX_PATH,"%d.) %c %d %s:%d",
+ item,on_off?'B':'U',boost_counter,location,line);
cpu_boost_calls_count++;
}
#else