Faster chThdExit().
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@14533 27425a3e-05d8-49a3-a47f-9c15f0e5edd8
This commit is contained in:
parent
c9e9f3cc21
commit
eb4b93f6cb
|
@ -5,7 +5,7 @@
|
||||||
*** Platform: STM32G4 Hi-resolution Line
|
*** Platform: STM32G4 Hi-resolution Line
|
||||||
*** Test Board: STMicroelectronics STM32 Nucleo64-G474RE
|
*** Test Board: STMicroelectronics STM32 Nucleo64-G474RE
|
||||||
***
|
***
|
||||||
*** Text size: 51108 bytes
|
*** Text size: 51140 bytes
|
||||||
*** RO data size: 9904 bytes
|
*** RO data size: 9904 bytes
|
||||||
*** Data size: 220 bytes
|
*** Data size: 220 bytes
|
||||||
*** BSS size: 5400 bytes
|
*** BSS size: 5400 bytes
|
||||||
|
@ -205,11 +205,11 @@
|
||||||
--- Result: SUCCESS
|
--- Result: SUCCESS
|
||||||
----------------------------------------------------------------------------
|
----------------------------------------------------------------------------
|
||||||
--- Test Case 12.5 (Threads performance, full cycle)
|
--- Test Case 12.5 (Threads performance, full cycle)
|
||||||
--- Score : 521467 threads/S
|
--- Score : 524686 threads/S
|
||||||
--- Result: SUCCESS
|
--- Result: SUCCESS
|
||||||
----------------------------------------------------------------------------
|
----------------------------------------------------------------------------
|
||||||
--- Test Case 12.6 (Threads performance, create/exit only)
|
--- Test Case 12.6 (Threads performance, create/exit only)
|
||||||
--- Score : 653843 threads/S
|
--- Score : 658912 threads/S
|
||||||
--- Result: SUCCESS
|
--- Result: SUCCESS
|
||||||
----------------------------------------------------------------------------
|
----------------------------------------------------------------------------
|
||||||
--- Test Case 12.7 (Mass reschedule performance)
|
--- Test Case 12.7 (Mass reschedule performance)
|
||||||
|
@ -221,7 +221,7 @@
|
||||||
--- Result: SUCCESS
|
--- Result: SUCCESS
|
||||||
----------------------------------------------------------------------------
|
----------------------------------------------------------------------------
|
||||||
--- Test Case 12.9 (Virtual Timers set/reset performance)
|
--- Test Case 12.9 (Virtual Timers set/reset performance)
|
||||||
--- Score : 1531462 timers/S
|
--- Score : 1531464 timers/S
|
||||||
--- Result: SUCCESS
|
--- Result: SUCCESS
|
||||||
----------------------------------------------------------------------------
|
----------------------------------------------------------------------------
|
||||||
--- Test Case 12.10 (Semaphores wait/signal performance)
|
--- Test Case 12.10 (Semaphores wait/signal performance)
|
||||||
|
@ -253,7 +253,7 @@ Final result: SUCCESS
|
||||||
*** Platform: STM32G4 Hi-resolution Line
|
*** Platform: STM32G4 Hi-resolution Line
|
||||||
*** Test Board: STMicroelectronics STM32 Nucleo64-G474RE
|
*** Test Board: STMicroelectronics STM32 Nucleo64-G474RE
|
||||||
***
|
***
|
||||||
*** Text size: 51108 bytes
|
*** Text size: 51140 bytes
|
||||||
*** RO data size: 9904 bytes
|
*** RO data size: 9904 bytes
|
||||||
*** Data size: 220 bytes
|
*** Data size: 220 bytes
|
||||||
*** BSS size: 5400 bytes
|
*** BSS size: 5400 bytes
|
||||||
|
|
|
@ -529,12 +529,12 @@ void chThdExitS(msg_t msg) {
|
||||||
/* Static threads with no references are immediately removed from the
|
/* Static threads with no references are immediately removed from the
|
||||||
registry because there is no memory to recover.*/
|
registry because there is no memory to recover.*/
|
||||||
#if CH_CFG_USE_DYNAMIC == TRUE
|
#if CH_CFG_USE_DYNAMIC == TRUE
|
||||||
if ((currtp->refs == (trefs_t)0) &&
|
if (unlikely((currtp->refs == (trefs_t)0) &&
|
||||||
((currtp->flags & CH_FLAG_MODE_MASK) == CH_FLAG_MODE_STATIC)) {
|
((currtp->flags & CH_FLAG_MODE_MASK) == CH_FLAG_MODE_STATIC))) {
|
||||||
REG_REMOVE(currtp);
|
REG_REMOVE(currtp);
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
if (currtp->refs == (trefs_t)0) {
|
if (unlikely(currtp->refs == (trefs_t)0)) {
|
||||||
REG_REMOVE(currtp);
|
REG_REMOVE(currtp);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue