diff --git a/docs/reports/STM32F103-72.txt b/docs/reports/STM32F103-72.txt index 156def546..ea962014c 100644 --- a/docs/reports/STM32F103-72.txt +++ b/docs/reports/STM32F103-72.txt @@ -115,12 +115,12 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Score : 204767 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- ---- Test Case 11.7 (Benchmark, mass reschedulation, 5 threads) ---- Score : 57135 reschedulations/S, 342810 ctxswc/S +--- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) +--- Score : 57135 reschedules/S, 342810 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 505284 reschedulations/S, 505284 ctxswc/S +--- Score : 429720 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) @@ -128,7 +128,7 @@ Settings: SYSCLK=72, ACR=0x12 (2 wait states) --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 647640 timers/S +--- Score : 647548 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) diff --git a/os/kernel/src/chschd.c b/os/kernel/src/chschd.c index cee046af2..c75f099f6 100644 --- a/os/kernel/src/chschd.c +++ b/os/kernel/src/chschd.c @@ -212,18 +212,18 @@ void chSchWakeupS(Thread *ntp, msg_t msg) { */ #if !defined(PORT_OPTIMIZED_DORESCHEDULEI) || defined(__DOXYGEN__) void chSchDoRescheduleI(void) { - Thread *otp, *ntp; + Thread *otp; #if CH_TIME_QUANTUM > 0 rlist.r_preempt = CH_TIME_QUANTUM; #endif otp = currp; /* Picks the first thread from the ready queue and makes it current.*/ - (ntp = fifo_remove(&rlist.r_queue))->p_state = THD_STATE_CURRENT; - setcurrp(ntp); + setcurrp(fifo_remove(&rlist.r_queue)); + currp->p_state = THD_STATE_CURRENT; chSchReadyI(otp); - chDbgTrace(ntp, otp); - chSysSwitchI(ntp, otp); + chDbgTrace(currp, otp); + chSysSwitchI(currp, otp); } #endif /* !defined(PORT_OPTIMIZED_DORESCHEDULEI) */