kernel: enable and optimize coop-only configurations

Some kernel operations, like scheduler locking can be optmized out,
since coop threads lock the scheduler by their very nature. Also, the
interrupt exit path for all architecture does not have to do any
rescheduling, again by the nature of non-preemptible threads.

Change-Id: I270e926df3ce46e11d77270330f2f4b463971763
Signed-off-by: Benjamin Walsh <benjamin.walsh@windriver.com>
This commit is contained in:
Benjamin Walsh 2016-12-14 14:34:29 -05:00 committed by Benjamin Walsh
commit 8e4a534ea1
7 changed files with 50 additions and 0 deletions

View file

@ -87,6 +87,7 @@ SECTION_SUBSEC_FUNC(TEXT, _HandlerModeExit, _IntExit)
SECTION_SUBSEC_FUNC(TEXT, _HandlerModeExit, _ExcExit)
#ifdef CONFIG_PREEMPT_ENABLED
ldr r0, =_kernel
ldr r1, [r0, #_kernel_offset_to_current]
@ -115,5 +116,6 @@ _ExcExitWithGdbStub:
_GDB_STUB_EXC_EXIT
_EXIT_EXC:
#endif /* CONFIG_PREEMPT_ENABLED */
bx lr