Performance related fixes.

git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@5641 35acf78f-673a-0410-8e92-d51de3d6d3f4
master
gdisirio 2013-04-29 08:00:48 +00:00
parent 0a15af8209
commit abc5c681dc
3 changed files with 24 additions and 13 deletions

View File

@ -6,7 +6,7 @@ Settings: SYSCLK=120
*** ChibiOS/RT test suite *** ChibiOS/RT test suite
*** ***
*** Kernel: 2.5.2unstable *** Kernel: 2.5.2unstable
*** Compiled: Apr 26 2013 - 13:21:56 *** Compiled: Apr 29 2013 - 09:53:43
*** Compiler: GCC 4.6.3 build on 2013-01-07 *** Compiler: GCC 4.6.3 build on 2013-01-07
*** Architecture: Power Architecture *** Architecture: Power Architecture
*** Core Variant: e200z4 *** Core Variant: e200z4
@ -104,15 +104,15 @@ Settings: SYSCLK=120
--- Result: SUCCESS --- Result: SUCCESS
---------------------------------------------------------------------------- ----------------------------------------------------------------------------
--- Test Case 11.2 (Benchmark, messages #2) --- Test Case 11.2 (Benchmark, messages #2)
--- Score : 312929 msgs/S, 625858 ctxswc/S --- Score : 312927 msgs/S, 625854 ctxswc/S
--- Result: SUCCESS --- Result: SUCCESS
---------------------------------------------------------------------------- ----------------------------------------------------------------------------
--- Test Case 11.3 (Benchmark, messages #3) --- Test Case 11.3 (Benchmark, messages #3)
--- Score : 312931 msgs/S, 625862 ctxswc/S --- Score : 312930 msgs/S, 625860 ctxswc/S
--- Result: SUCCESS --- Result: SUCCESS
---------------------------------------------------------------------------- ----------------------------------------------------------------------------
--- Test Case 11.4 (Benchmark, context switch) --- Test Case 11.4 (Benchmark, context switch)
--- Score : 1088352 ctxswc/S --- Score : 1099584 ctxswc/S
--- Result: SUCCESS --- Result: SUCCESS
---------------------------------------------------------------------------- ----------------------------------------------------------------------------
--- Test Case 11.5 (Benchmark, threads, full cycle) --- Test Case 11.5 (Benchmark, threads, full cycle)
@ -120,31 +120,31 @@ Settings: SYSCLK=120
--- Result: SUCCESS --- Result: SUCCESS
---------------------------------------------------------------------------- ----------------------------------------------------------------------------
--- Test Case 11.6 (Benchmark, threads, create only) --- Test Case 11.6 (Benchmark, threads, create only)
--- Score : 369917 threads/S --- Score : 369919 threads/S
--- Result: SUCCESS --- Result: SUCCESS
---------------------------------------------------------------------------- ----------------------------------------------------------------------------
--- Test Case 11.7 (Benchmark, mass reschedule, 5 threads) --- Test Case 11.7 (Benchmark, mass reschedule, 5 threads)
--- Score : 92981 reschedules/S, 557886 ctxswc/S --- Score : 94594 reschedules/S, 567564 ctxswc/S
--- Result: SUCCESS --- Result: SUCCESS
---------------------------------------------------------------------------- ----------------------------------------------------------------------------
--- Test Case 11.8 (Benchmark, round robin context switching) --- Test Case 11.8 (Benchmark, round robin context switching)
--- Score : 617000 ctxswc/S --- Score : 633460 ctxswc/S
--- Result: SUCCESS --- Result: SUCCESS
---------------------------------------------------------------------------- ----------------------------------------------------------------------------
--- Test Case 11.9 (Benchmark, I/O Queues throughput) --- Test Case 11.9 (Benchmark, I/O Queues throughput)
--- Score : 1087108 bytes/S --- Score : 1107176 bytes/S
--- Result: SUCCESS --- Result: SUCCESS
---------------------------------------------------------------------------- ----------------------------------------------------------------------------
--- Test Case 11.10 (Benchmark, virtual timers set/reset) --- Test Case 11.10 (Benchmark, virtual timers set/reset)
--- Score : 1339154 timers/S --- Score : 1309916 timers/S
--- Result: SUCCESS --- Result: SUCCESS
---------------------------------------------------------------------------- ----------------------------------------------------------------------------
--- Test Case 11.11 (Benchmark, semaphores wait/signal) --- Test Case 11.11 (Benchmark, semaphores wait/signal)
--- Score : 1743328 wait+signal/S --- Score : 1762552 wait+signal/S
--- Result: SUCCESS --- Result: SUCCESS
---------------------------------------------------------------------------- ----------------------------------------------------------------------------
--- Test Case 11.12 (Benchmark, mutexes lock/unlock) --- Test Case 11.12 (Benchmark, mutexes lock/unlock)
--- Score : 1222972 lock+unlock/S --- Score : 1239856 lock+unlock/S
--- Result: SUCCESS --- Result: SUCCESS
---------------------------------------------------------------------------- ----------------------------------------------------------------------------
--- Test Case 11.13 (Benchmark, RAM footprint) --- Test Case 11.13 (Benchmark, RAM footprint)

View File

@ -31,6 +31,16 @@
* @{ * @{
*/ */
#define BUCSR_BPEN 0x00000001 #define BUCSR_BPEN 0x00000001
#define BUCSR_BPRED_MASK 0x00000006
#define BUCSR_BPRED_0 0x00000000
#define BUCSR_BPRED_1 0x00000002
#define BUCSR_BPRED_2 0x00000004
#define BUCSR_BPRED_3 0x00000006
#define BUCSR_BALLOC_MASK 0x00000030
#define BUCSR_BALLOC_0 0x00000000
#define BUCSR_BALLOC_1 0x00000010
#define BUCSR_BALLOC_2 0x00000020
#define BUCSR_BALLOC_3 0x00000030
#define BUCSR_BALLOC_BFI 0x00000200 #define BUCSR_BALLOC_BFI 0x00000200
/** @} */ /** @} */
@ -47,7 +57,8 @@
* @name BUCSR default settings * @name BUCSR default settings
* @{ * @{
*/ */
#define BUCSR_DEFAULT (BUCSR_BPEN | BUCSR_BALLOC_BFI) #define BUCSR_DEFAULT (BUCSR_BPEN | BUCSR_BPRED_0 | \
BUCSR_BALLOC_0 | BUCSR_BALLOC_BFI)
/** @} */ /** @} */
/** /**

View File

@ -98,7 +98,7 @@
#define BUCSR_BPRED_2 0x00000004 #define BUCSR_BPRED_2 0x00000004
#define BUCSR_BPRED_3 0x00000006 #define BUCSR_BPRED_3 0x00000006
#define BUCSR_BALLOC_MASK 0x00000030 #define BUCSR_BALLOC_MASK 0x00000030
#define BUCSR_BALLOC_0 0x00000030 #define BUCSR_BALLOC_0 0x00000000
#define BUCSR_BALLOC_1 0x00000010 #define BUCSR_BALLOC_1 0x00000010
#define BUCSR_BALLOC_2 0x00000020 #define BUCSR_BALLOC_2 0x00000020
#define BUCSR_BALLOC_3 0x00000030 #define BUCSR_BALLOC_3 0x00000030