Commit Graph

835 Commits

Author SHA1 Message Date
Philipp Oppermann
f118749cb2 Merge pull request #804 from phil-opp/post-12-merge-queues
Simplify executor by merging task_queue and wake_queue
2020-05-19 14:32:51 +02:00
Philipp Oppermann
9887c1257d Keep task in map instead of repeatedly removing it
Also: Use entry API on waker_cache map.
2020-05-19 14:24:51 +02:00
Philipp Oppermann
ee0c11d316 Simplify executor by merging task_queue and wake_queue 2020-05-18 12:07:45 +02:00
Philipp Oppermann
b862534be5 Use a static counter for assigning task IDs (#782)
Deriving the task ID from the heap address of the future does not work for zero-sized futures because they are not backed by a real allocation.
2020-04-01 12:53:25 +02:00
Philipp Oppermann
e465c5b278 Put the CPU to sleep when no task is ready 2020-03-27 17:17:34 +01:00
Philipp Oppermann
50b4b89ac2 Implement an executor with waker support 2020-03-27 17:01:33 +01:00
Philipp Oppermann
d7b144364d Add an asynchronous print_keypresses task 2020-03-27 17:01:33 +01:00
Philipp Oppermann
d63ddde756 Add waker support to ScancodeStream 2020-03-27 17:01:33 +01:00
Philipp Oppermann
79dbd2968a Create a ScancodeStream based on the SCANCODE_QUEUE 2020-03-27 15:46:26 +01:00
Philipp Oppermann
b1be646e46 Add an add_scancode function and call it from keyboard interrupt handler 2020-03-27 13:25:43 +01:00
Philipp Oppermann
71b10a70df Add dependencies on crossbeam and conquer_once to define a SCANCODE_QUEUE 2020-03-27 13:16:05 +01:00
Philipp Oppermann
629fe0fdec Use SimpleExecutor in kernel_main to run example_task 2020-03-27 13:04:33 +01:00
Philipp Oppermann
b25b841467 Create a SimpleExecutor that polls tasks in a busy loop 2020-03-27 13:03:24 +01:00
Philipp Oppermann
dac7e67403 Add a task module with a Task struct 2020-03-27 12:55:40 +01:00
Philipp Oppermann
2cc188a403 Add some example async functions 2020-03-27 12:48:55 +01:00
Philipp Oppermann
fbeedde68f Update Readme for async/await post 2020-03-27 12:26:50 +01:00
Philipp Oppermann
3c28d7f364 Update README.md 2020-03-20 16:09:09 +01:00
Philipp Oppermann
83b67df8af Merge branch 'post-10' into post-11 2020-03-08 14:39:38 +01:00
Philipp Oppermann
02c36bae29 Merge branch 'post-09' into post-10 2020-03-08 14:39:38 +01:00
Philipp Oppermann
70deb3168e Merge branch 'post-08' into post-09 2020-03-08 14:39:38 +01:00
Philipp Oppermann
9d4a960bcb Merge branch 'post-07' into post-08 2020-03-08 14:39:38 +01:00
Philipp Oppermann
564ba9f9ac Merge branch 'post-06' into post-07 2020-03-08 14:39:38 +01:00
Philipp Oppermann
8a4f3ab2a8 Merge branch 'post-05' into post-06 2020-03-08 14:39:37 +01:00
Philipp Oppermann
e402af005b Merge branch 'post-04' into post-05 2020-03-08 14:39:37 +01:00
Philipp Oppermann
d7e505da9e Update x86_64 dependency to version 0.9.6 2020-03-08 14:39:27 +01:00
Philipp Oppermann
714d9cef7d Merge branch 'post-10' into post-11 2020-03-08 14:30:38 +01:00
Philipp Oppermann
7b0d8f05ba Fix code for x86_64 v0.9.5 update 2020-03-08 14:30:33 +01:00
Philipp Oppermann
3735ae51c9 Merge branch 'post-10' into post-11 2020-03-08 14:29:03 +01:00
Philipp Oppermann
f230ee4258 Merge branch 'post-09' into post-10 2020-03-08 14:29:00 +01:00
Philipp Oppermann
a5d409b777 Merge branch 'post-08' into post-09 2020-03-08 14:28:03 +01:00
Philipp Oppermann
33df0bb2a3 Merge branch 'post-07' into post-08 2020-03-08 14:28:03 +01:00
Philipp Oppermann
9a61e1724b Merge branch 'post-06' into post-07 2020-03-08 14:27:58 +01:00
Philipp Oppermann
dbe1353fd2 Merge branch 'post-05' into post-06 2020-03-08 14:27:42 +01:00
Philipp Oppermann
813bc41a74 Merge branch 'post-04' into post-05 2020-03-08 14:27:42 +01:00
Philipp Oppermann
2039cd7a64 Update x86_64 to version 0.9.5 2020-03-08 14:27:36 +01:00
Philipp Oppermann
a430d5ef06 Merge branch 'post-10' into post-11 2020-03-06 11:58:45 +01:00
Philipp Oppermann
39f14b6d0b Merge pull request #763 from phil-opp/post-10-update-linked-list-alloc
Update linked_list_allocator to v0.8.0
2020-03-06 11:58:23 +01:00
Philipp Oppermann
dd1daf2652 Update linked_list_allocator to v0.8.0 2020-03-06 11:47:49 +01:00
Philipp Oppermann
f4331daa25 Merge branch 'post-10' into post-11 2020-02-26 12:48:22 +01:00
Philipp Oppermann
9a415c85b9 Merge branch 'post-09' into post-10 2020-02-26 12:47:51 +01:00
Philipp Oppermann
79a0172ace Merge branch 'post-08' into post-09 2020-02-26 12:47:32 +01:00
Philipp Oppermann
9af6337f67 Merge branch 'post-07' into post-08 2020-02-26 12:47:23 +01:00
Philipp Oppermann
725e03b5c5 Merge branch 'post-06' into post-07 2020-02-26 12:47:07 +01:00
Philipp Oppermann
16afb268f8 Merge branch 'post-05' into post-06 2020-02-26 12:46:19 +01:00
Philipp Oppermann
5ef73aaa30 Merge branch 'post-04' into post-05 2020-02-26 12:46:09 +01:00
Philipp Oppermann
ebb862de2a Run cargo update for post-04 2020-02-26 12:46:04 +01:00
Philipp Oppermann
d588dca953 Merge branch 'post-03' into post-04 2020-02-26 12:45:45 +01:00
Philipp Oppermann
f23269ed93 Merge branch 'post-02' into post-03 2020-02-26 12:45:27 +01:00
Philipp Oppermann
46264d08ca Run cargo update 2020-02-26 12:43:51 +01:00
Philipp Oppermann
921dd54207 Merge branch 'post-10' into post-11 2020-02-26 12:22:10 +01:00