git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1756 35acf78f-673a-0410-8e92-d51de3d6d3f4
This commit is contained in:
parent
79075f9e81
commit
b61fb43e6c
|
@ -92,35 +92,35 @@ Settings: SYSCLK=80, optimal wait states, prefetching enabled
|
|||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 11.1 (Benchmark, messages #1)
|
||||
--- Score : 280181 msgs/S, 560362 ctxswc/S
|
||||
--- Score : 278228 msgs/S, 556456 ctxswc/S
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 11.2 (Benchmark, messages #2)
|
||||
--- Score : 227495 msgs/S, 454990 ctxswc/S
|
||||
--- Score : 226208 msgs/S, 452416 ctxswc/S
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 11.3 (Benchmark, messages #3)
|
||||
--- Score : 227495 msgs/S, 454990 ctxswc/S
|
||||
--- Score : 226208 msgs/S, 452416 ctxswc/S
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 11.4 (Benchmark, context switch)
|
||||
--- Score : 898496 ctxswc/S
|
||||
--- Score : 895976 ctxswc/S
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 11.5 (Benchmark, threads, full cycle)
|
||||
--- Score : 183569 threads/S
|
||||
--- Score : 182729 threads/S
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 11.6 (Benchmark, threads, create only)
|
||||
--- Score : 262670 threads/S
|
||||
--- Score : 260954 threads/S
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 11.7 (Benchmark, mass reschedulation, 5 threads)
|
||||
--- Score : 74206 reschedulations/S, 445236 ctxswc/S
|
||||
--- Test Case 11.7 (Benchmark, mass reschedule, 5 threads)
|
||||
--- Score : 74067 reschedules/S, 444402 ctxswc/S
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 11.8 (Benchmark, round robin context switching)
|
||||
--- Score : 614140 reschedulations/S, 614140 ctxswc/S
|
||||
--- Score : 614136 ctxswc/S
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 11.9 (Benchmark, I/O Queues throughput)
|
||||
|
@ -128,7 +128,7 @@ Settings: SYSCLK=80, optimal wait states, prefetching enabled
|
|||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 11.10 (Benchmark, virtual timers set/reset)
|
||||
--- Score : 1093672 timers/S
|
||||
--- Score : 1093666 timers/S
|
||||
--- Result: SUCCESS
|
||||
----------------------------------------------------------------------------
|
||||
--- Test Case 11.11 (Benchmark, semaphores wait/signal)
|
||||
|
|
|
@ -49,8 +49,8 @@
|
|||
*/
|
||||
#define REG_INSERT(tp) { \
|
||||
(tp)->p_newer = (Thread *)&rlist; \
|
||||
(tp)->p_older = rlist.p_older; \
|
||||
(tp)->p_older->p_newer = rlist.p_older = (tp); \
|
||||
(tp)->p_older = rlist.r_older; \
|
||||
(tp)->p_older->p_newer = rlist.r_older = (tp); \
|
||||
}
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
|
|
@ -71,11 +71,11 @@ typedef struct {
|
|||
ThreadsQueue r_queue; /**< @brief Threads queue. */
|
||||
tprio_t r_prio; /**< @brief This field must be
|
||||
initialized to zero. */
|
||||
struct context p_ctx; /**< @brief Not used, present because
|
||||
struct context r_ctx; /**< @brief Not used, present because
|
||||
offsets. */
|
||||
#if CH_USE_REGISTRY
|
||||
Thread *p_newer; /**< @brief Newer registry element. */
|
||||
Thread *p_older; /**< @brief Older registry element. */
|
||||
Thread *r_newer; /**< @brief Newer registry element. */
|
||||
Thread *r_older; /**< @brief Older registry element. */
|
||||
#endif
|
||||
/* End of the fields shared with the Thread structure.*/
|
||||
#if CH_TIME_QUANTUM > 0
|
||||
|
|
|
@ -64,7 +64,7 @@ Thread *chRegFirstThread(void) {
|
|||
Thread *tp;
|
||||
|
||||
chSysLock();
|
||||
tp = rlist.p_newer;
|
||||
tp = rlist.r_newer;
|
||||
#if CH_USE_DYNAMIC
|
||||
tp->p_refs++;
|
||||
#endif
|
||||
|
|
|
@ -51,7 +51,7 @@ void scheduler_init(void) {
|
|||
rlist.r_preempt = CH_TIME_QUANTUM;
|
||||
#endif
|
||||
#if CH_USE_REGISTRY
|
||||
rlist.p_newer = rlist.p_older = (Thread *)&rlist;
|
||||
rlist.r_newer = rlist.r_older = (Thread *)&rlist;
|
||||
#endif
|
||||
}
|
||||
|
||||
|
@ -96,11 +96,11 @@ void chSchGoSleepS(tstate_t newstate) {
|
|||
Thread *otp;
|
||||
|
||||
(otp = currp)->p_state = newstate;
|
||||
setcurrp(fifo_remove(&rlist.r_queue));
|
||||
currp->p_state = THD_STATE_CURRENT;
|
||||
#if CH_TIME_QUANTUM > 0
|
||||
rlist.r_preempt = CH_TIME_QUANTUM;
|
||||
#endif
|
||||
setcurrp(fifo_remove(&rlist.r_queue));
|
||||
currp->p_state = THD_STATE_CURRENT;
|
||||
chDbgTrace(currp, otp);
|
||||
chSysSwitchI(currp, otp);
|
||||
}
|
||||
|
|
|
@ -87,10 +87,6 @@
|
|||
- CHANGE: The module documentation has been moved from the kernel.dox file
|
||||
to the various source code files in order to make it easier to maintain
|
||||
and double as source comments.
|
||||
- CHANGE: Removed the support for the CH_CURRP_REGISTER_CACHE optimization
|
||||
in the configuration files and in the scheduler header. It will be
|
||||
reintroduced as an architecture-specific optimization using the new
|
||||
capture mechanism (among other optimizations).
|
||||
|
||||
*** 1.5.3 ***
|
||||
- FIX: Removed C99-style variables declarations (bug 2964418)(backported
|
||||
|
|
Loading…
Reference in New Issue