diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2018-08-10 07:34:03 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2018-08-23 14:38:41 +0200 |
commit | ba0e9631a0e0a74a9c3d823d3d1bb60900da4891 (patch) | |
tree | 0d73747ddfd818bbe1a3409253c449c6fedabc8e /cpukit/score/src/kern_tc.c | |
parent | Add dummy PI_SOFT to <sys/priority.h> (diff) | |
download | rtems-ba0e9631a0e0a74a9c3d823d3d1bb60900da4891.tar.bz2 |
score: Do not inline _Thread_Dispatch_enable()
This function is slighly too complex for inlining with two if
statements. The caller already needs a stack frame due to the potential
call to _Thread_Do_dispatch(). In _Thread_Dispatch_enable() the call to
_Thread_Do_dispatch() can be optimized to a tail call.
A text size comparision
(text size after patch - text size before patch)
/ text size before patch
on sparc/erc32 with SMP enabled showed these results:
Minimum -0.000697892 (fsdosfsname01.exe)
Median -0.00745021 (psxtimes01.exe)
Maximum -0.0233032 (spscheduler01.exe)
A text size comparision
text size after patch - text size before patch
on sparc/erc32 with SMP enabled showed these results:
Minimum -3312 (ada_sp09.exe)
Median -1024 (tm15.exe)
Maximum -592 (spglobalcon01.exe)
Diffstat (limited to 'cpukit/score/src/kern_tc.c')
0 files changed, 0 insertions, 0 deletions