From abc5c681dc6231aed09f187dba384d021238bd1a Mon Sep 17 00:00:00 2001 From: gdisirio Date: Mon, 29 Apr 2013 08:00:48 +0000 Subject: Performance related fixes. git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@5641 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- docs/reports/SPC56EL60-120.txt | 22 +++++++++++----------- os/ports/GCC/PPC/SPC564Axx/core.s | 13 ++++++++++++- os/ports/GCC/PPC/SPC56ELxx/core.s | 2 +- 3 files changed, 24 insertions(+), 13 deletions(-) diff --git a/docs/reports/SPC56EL60-120.txt b/docs/reports/SPC56EL60-120.txt index e616902b2..6690a5899 100644 --- a/docs/reports/SPC56EL60-120.txt +++ b/docs/reports/SPC56EL60-120.txt @@ -6,7 +6,7 @@ Settings: SYSCLK=120 *** ChibiOS/RT test suite *** *** 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 *** Architecture: Power Architecture *** Core Variant: e200z4 @@ -104,15 +104,15 @@ Settings: SYSCLK=120 --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.2 (Benchmark, messages #2) ---- Score : 312929 msgs/S, 625858 ctxswc/S +--- Score : 312927 msgs/S, 625854 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.3 (Benchmark, messages #3) ---- Score : 312931 msgs/S, 625862 ctxswc/S +--- Score : 312930 msgs/S, 625860 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.4 (Benchmark, context switch) ---- Score : 1088352 ctxswc/S +--- Score : 1099584 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.5 (Benchmark, threads, full cycle) @@ -120,31 +120,31 @@ Settings: SYSCLK=120 --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.6 (Benchmark, threads, create only) ---- Score : 369917 threads/S +--- Score : 369919 threads/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- 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 ---------------------------------------------------------------------------- --- Test Case 11.8 (Benchmark, round robin context switching) ---- Score : 617000 ctxswc/S +--- Score : 633460 ctxswc/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.9 (Benchmark, I/O Queues throughput) ---- Score : 1087108 bytes/S +--- Score : 1107176 bytes/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.10 (Benchmark, virtual timers set/reset) ---- Score : 1339154 timers/S +--- Score : 1309916 timers/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.11 (Benchmark, semaphores wait/signal) ---- Score : 1743328 wait+signal/S +--- Score : 1762552 wait+signal/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.12 (Benchmark, mutexes lock/unlock) ---- Score : 1222972 lock+unlock/S +--- Score : 1239856 lock+unlock/S --- Result: SUCCESS ---------------------------------------------------------------------------- --- Test Case 11.13 (Benchmark, RAM footprint) diff --git a/os/ports/GCC/PPC/SPC564Axx/core.s b/os/ports/GCC/PPC/SPC564Axx/core.s index 10ea5ffaf..ef3193c94 100644 --- a/os/ports/GCC/PPC/SPC564Axx/core.s +++ b/os/ports/GCC/PPC/SPC564Axx/core.s @@ -31,6 +31,16 @@ * @{ */ #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 /** @} */ @@ -47,7 +57,8 @@ * @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) /** @} */ /** diff --git a/os/ports/GCC/PPC/SPC56ELxx/core.s b/os/ports/GCC/PPC/SPC56ELxx/core.s index f2355a195..24d36e107 100644 --- a/os/ports/GCC/PPC/SPC56ELxx/core.s +++ b/os/ports/GCC/PPC/SPC56ELxx/core.s @@ -98,7 +98,7 @@ #define BUCSR_BPRED_2 0x00000004 #define BUCSR_BPRED_3 0x00000006 #define BUCSR_BALLOC_MASK 0x00000030 -#define BUCSR_BALLOC_0 0x00000030 +#define BUCSR_BALLOC_0 0x00000000 #define BUCSR_BALLOC_1 0x00000010 #define BUCSR_BALLOC_2 0x00000020 #define BUCSR_BALLOC_3 0x00000030 -- cgit v1.2.3