aboutsummaryrefslogtreecommitdiffstats
path: root/src/sched.h
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2017-08-07 12:33:08 -0400
committerKevin O'Connor <kevin@koconnor.net>2017-08-08 00:27:28 -0400
commit2c272f99a3fac49d8acd4b49a1aa3302225f17b8 (patch)
tree07998c722ed20fa812de26e1941daf57a030271f /src/sched.h
parenta9982beacf184ccdc4bf1221852c900b0809537d (diff)
downloadkutter-2c272f99a3fac49d8acd4b49a1aa3302225f17b8.tar.gz
kutter-2c272f99a3fac49d8acd4b49a1aa3302225f17b8.tar.xz
kutter-2c272f99a3fac49d8acd4b49a1aa3302225f17b8.zip
sched: Implement generic sleep mechanism based on tasks pending
Track when tasks are pending and spin in irq_wait() when no tasks are pending. This improves the mechanism for sleeping the processor - it's simpler for the board specific code and it reduces the possibility of the processor sleeping when tasks are busy. Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'src/sched.h')
-rw-r--r--src/sched.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/sched.h b/src/sched.h
index ba883778..ffe17e03 100644
--- a/src/sched.h
+++ b/src/sched.h
@@ -30,6 +30,7 @@ void sched_add_timer(struct timer*);
void sched_del_timer(struct timer *del);
unsigned int sched_timer_dispatch(void);
void sched_wake_tasks(void);
+uint8_t sched_tasks_busy(void);
void sched_wake_task(struct task_wake *w);
uint8_t sched_check_wake(struct task_wake *w);
uint8_t sched_is_shutdown(void);