kernel: Remove legacy preemption checking
The metairq feature exposed the fact that all of our arch code (and a few mistaken spots in the scheduler too) was trying to interpret "preemptible" threads independently. As of the scheduler rewrite, that logic is entirely within sched.c and doing it externally is redundant. And now that "cooperative" threads can be preempted, it's wrong and produces test failures when used with metairq threads. Signed-off-by: Andy Ross <andrew.j.ross@intel.com>
This commit is contained in:
parent
21792fa020
commit
3a0cb2d35d
9 changed files with 2 additions and 71 deletions
|
@ -75,14 +75,6 @@ SECTION_SUBSEC_FUNC(TEXT, _HandlerModeExit, _ExcExit)
|
|||
|
||||
ldr r1, [r0, #_kernel_offset_to_current]
|
||||
|
||||
/*
|
||||
* Non-preemptible thread ? Do not schedule (see explanation of
|
||||
* preempt field in kernel_struct.h).
|
||||
*/
|
||||
ldrh r2, [r1, #_thread_offset_to_preempt]
|
||||
cmp r2, #_PREEMPT_THRESHOLD
|
||||
bhi _EXIT_EXC
|
||||
|
||||
ldr r0, [r0, _kernel_offset_to_ready_q_cache]
|
||||
cmp r0, r1
|
||||
beq _EXIT_EXC
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue