From 88c256ae5265f5d6a7ffa25dc17f693e036256bf Mon Sep 17 00:00:00 2001 From: gdisirio Date: Tue, 11 Mar 2008 14:32:04 +0000 Subject: [PATCH] git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@222 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- demos/ARM7-AT91SAM7X-GCC/Makefile | 2 +- demos/ARM7-AT91SAM7X-GCC/Makefile.thumb | 2 +- docs/Doxyfile | 2 +- docs/index.html | 2 +- readme.txt | 7 +++++++ src/chschd.c | 11 ++++------- 6 files changed, 15 insertions(+), 11 deletions(-) diff --git a/demos/ARM7-AT91SAM7X-GCC/Makefile b/demos/ARM7-AT91SAM7X-GCC/Makefile index c94b88fdb..5e1211efa 100644 --- a/demos/ARM7-AT91SAM7X-GCC/Makefile +++ b/demos/ARM7-AT91SAM7X-GCC/Makefile @@ -103,7 +103,7 @@ TOPT = -mthumb -D THUMB # increases the code size. OPT = -O2 -ggdb -fomit-frame-pointer -fno-strict-aliasing #OPT += -ffixed-r7 -OPT += -falign-functions=16 +#OPT += -falign-functions=16 # Define warning options here WARN = -Wall -Wstrict-prototypes diff --git a/demos/ARM7-AT91SAM7X-GCC/Makefile.thumb b/demos/ARM7-AT91SAM7X-GCC/Makefile.thumb index 76a4459fd..64d348ad5 100644 --- a/demos/ARM7-AT91SAM7X-GCC/Makefile.thumb +++ b/demos/ARM7-AT91SAM7X-GCC/Makefile.thumb @@ -103,7 +103,7 @@ TOPT = -mthumb -D THUMB # increases the code size. OPT = -Os -ggdb -fomit-frame-pointer -fno-strict-aliasing #OPT += -ffixed-r7 -OPT += -falign-functions=16 +#OPT += -falign-functions=16 # Define warning options here WARN = -Wall -Wstrict-prototypes diff --git a/docs/Doxyfile b/docs/Doxyfile index e4915c571..a6b908404 100644 --- a/docs/Doxyfile +++ b/docs/Doxyfile @@ -4,7 +4,7 @@ # Project related configuration options #--------------------------------------------------------------------------- PROJECT_NAME = ChibiOS/RT -PROJECT_NUMBER = "0.6.0 beta" +PROJECT_NUMBER = "0.6.1 beta" OUTPUT_DIRECTORY = . CREATE_SUBDIRS = NO OUTPUT_LANGUAGE = English diff --git a/docs/index.html b/docs/index.html index 43738aa72..edd77fc03 100644 --- a/docs/index.html +++ b/docs/index.html @@ -13,7 +13,7 @@ Homepage Current -Version 0.6.0
+Version 0.6.1
-
Project on SourceForge
Documentation
diff --git a/readme.txt b/readme.txt index 740506706..537642ebb 100644 --- a/readme.txt +++ b/readme.txt @@ -62,6 +62,13 @@ AVR-AT90CANx-GCC - Port on AVR AT90CAN128, not tested on hardware yet. *** Releases *** ***************************************************************************** +*** 0.6.1 *** +- Removed some redundant checks from the scheduler code: improved threads + flyback time. +- Removed the -falign-functions=16 option from the AT91SAM7X demo makefiles, + the Atmel chip does not require it, the option is still present on the + LPC21xx demos. This saves significant ROM space. + *** 0.6.0 *** - Code refactory, all the old sized-integer definitions like LONG32, UWORD16 etc are now replaced by the proper definitions provided by the compiler diff --git a/src/chschd.c b/src/chschd.c index 7a14df518..b7f52c96d 100644 --- a/src/chschd.c +++ b/src/chschd.c @@ -93,8 +93,10 @@ void chSchGoSleepS(tstate_t newstate) { #ifdef CH_USE_VIRTUAL_TIMERS static void wakeup(void *p) { +#ifdef CH_USE_SEMAPHORES if (((Thread *)p)->p_state == PRWTSEM) chSemFastSignalI(((Thread *)p)->p_wtsemp); +#endif chSchReadyI(p, RDY_TIMEOUT); } @@ -170,10 +172,8 @@ void chSchDoRescheduleI(void) { */ void chSchRescheduleS(void) { - if (isempty(&rlist.r_queue) || firstprio(&rlist.r_queue) <= currp->p_prio) - return; - - chSchDoRescheduleI(); + if (firstprio(&rlist.r_queue) > currp->p_prio) + chSchDoRescheduleI(); } /** @@ -183,9 +183,6 @@ void chSchRescheduleS(void) { */ bool_t chSchRescRequiredI(void) { - if (isempty(&rlist.r_queue)) - return FALSE; - if (rlist.r_preempt) { if (firstprio(&rlist.r_queue) <= currp->p_prio) return FALSE;