aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorgdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2013-04-29 08:00:48 +0000
committergdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2013-04-29 08:00:48 +0000
commitabc5c681dc6231aed09f187dba384d021238bd1a (patch)
tree13d62a9e2bb01318a47ebe9d41be8a76fb45a358
parent0a15af8209879face073f50f44c455063a513d93 (diff)
downloadChibiOS-abc5c681dc6231aed09f187dba384d021238bd1a.tar.gz
ChibiOS-abc5c681dc6231aed09f187dba384d021238bd1a.tar.bz2
ChibiOS-abc5c681dc6231aed09f187dba384d021238bd1a.zip
Performance related fixes.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@5641 35acf78f-673a-0410-8e92-d51de3d6d3f4
-rw-r--r--docs/reports/SPC56EL60-120.txt22
-rw-r--r--os/ports/GCC/PPC/SPC564Axx/core.s13
-rw-r--r--os/ports/GCC/PPC/SPC56ELxx/core.s2
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