317 Commits

Author SHA1 Message Date
Dario Nieuwenhuis
03d0637d6e Update nightly. 2025-09-26 21:35:49 +02:00
Dániel Buga
d5e4558f18
Fix docs 2025-09-23 16:23:18 +02:00
Dario Nieuwenhuis
0850f3b537 Update Rust. 2025-09-22 01:49:39 +02:00
Dario Nieuwenhuis
4d71f432ad Update manifests to satisfy new checks. 2025-09-22 00:47:08 +02:00
Dario Nieuwenhuis
55b3c5c6e8 ci: use devtool to build. 2025-09-11 21:52:47 +02:00
Dario Nieuwenhuis
6ec9bcb1c4 executor: add priority scheduler. 2025-09-11 16:33:48 +02:00
Dario Nieuwenhuis
e1209c5563 executor: make Deadline actually private. 2025-09-11 15:40:33 +02:00
Dion Dokter
2e21dcf2e6 Fix metadata 2025-09-11 14:45:41 +02:00
Dion Dokter
09701a339d Fix example 2025-09-11 14:45:41 +02:00
Dion Dokter
401fac6ea9 Make requested API changes 2025-09-11 14:45:40 +02:00
Dion Dokter
adb0c3e947 Add more metadata 2025-09-11 14:45:27 +02:00
Dion Dokter
a853bbe2a4 Happy CI :) 2025-09-11 14:45:27 +02:00
diondokter
52d1785605 Introduce metadata-deadline and let the EDF scheduler use it 2025-09-11 14:45:27 +02:00
Dion Dokter
d6d4df1c76 Add some docs 2025-09-11 14:45:06 +02:00
Dion Dokter
3f606b28f3 Change deadline to use internal atomics 2025-09-11 14:45:06 +02:00
James Munns
b5c9e72100 Rename, remove excess mut 2025-09-11 14:45:06 +02:00
James Munns
4479f5bbfc Regular comments not doc comments 2025-09-11 14:45:06 +02:00
James Munns
38e5e2e9ce Replace use of RefCell with UnsafeCell 2025-09-11 14:45:06 +02:00
James Munns
20b56b0fe0 Update to use critical-section::Mutex instead of mutex::BlockingMutex
This allows the scheduler to better collaborate with existing critical sections
2025-09-11 14:45:06 +02:00
James Munns
cf171ad6d9 fmt 2025-09-11 14:45:06 +02:00
James Munns
db063945e7 Inline the "MutexTransferStack" impl as it is unclear whether it will be merged upstream 2025-09-11 14:45:06 +02:00
James Munns
d88ea8dd2a Update with cordyceps changes 2025-09-11 14:45:06 +02:00
James Munns
7af8f35a50 There can be only one (run queue) 2025-09-11 14:45:06 +02:00
James Munns
0e28ba1091 "Deadline Rank Sorted Scheduler" -> "Earliest Deadline First Scheduler" 2025-09-11 14:45:06 +02:00
James Munns
3929142f4c One more must_use 2025-09-11 14:45:06 +02:00
James Munns
b1b2955b60 Switch to released version of cordyceps, add error if used w/o atomics 2025-09-11 14:45:06 +02:00
James Munns
b65a3a301a Clean up some TODOs 2025-09-11 14:45:06 +02:00
James Munns
08a57b1cb0 Update with changes from the PR 2025-09-11 14:45:06 +02:00
James Munns
2a068c5283 Conditional import 2025-09-11 14:45:06 +02:00
James Munns
ed2e51bfa4 Dependency enablement trickery 2025-09-11 14:45:06 +02:00
James Munns
ba0426f767 Combine DRS and non-DRS atomic scheduler, using cordyceps 2025-09-11 14:45:06 +02:00
James Munns
8c70aafd4b Make some things more consistent 2025-09-11 14:45:06 +02:00
James Munns
1f50e4d496 Implement Deadline Ranked Scheduling
This implements a minimal version of Deadline Rank Scheduling, as well as ways to access and set Deadlines.

This still needs some UX improvements, but is likely Enough for testing.
2025-09-11 14:45:06 +02:00
James Munns
535c80e61f Add initial DRS scheduler placeholder
* Start hacking in cordyceps

This adds a third kind of runqueue, for now it should work the same as the
current "atomics" runqueue, but uses a cordyceps TransferStack instead of
the existing home-rolled linked list.

* Clean up, use new cordyceps feature

* A bit more cleanup

* Update docs to be more clear
2025-09-11 14:45:06 +02:00
Gabriel Smith
86aff0e63e chore: bump embassy-executor to 0.9.1 to match released version 2025-09-08 14:48:06 -04:00
Dario Nieuwenhuis
286d887529 executor: always name main task main, not just with rtos-trace.
Also fixes the warning about the `rtos-trace` feature not existing in embassy-executor-macros.
2025-09-05 14:57:05 +02:00
Dániel Buga
219cf09aab
Remove features, fix changelog 2025-09-02 08:34:07 +02:00
Dario Nieuwenhuis
0962b09603 Add changelog for embassy-executor v0.9.1 2025-08-31 23:09:31 +02:00
Dario Nieuwenhuis
4cd86e5e76
Merge branch 'main' into feat/name-main-task 2025-08-31 20:50:20 +02:00
Dario Nieuwenhuis
a05506640b
Merge branch 'main' into feat/upgrade-rtos-trace 2025-08-31 20:37:10 +02:00
Dániel Buga
fb531da007
Prefer word-sized state in CS impl 2025-08-31 10:45:03 +02:00
Dániel Buga
3fb6a9191c
Prefer pointer-sized atomic operations 2025-08-31 10:22:45 +02:00
Florian Grandel
47e45c9821
rtos-trace: upgraded feature support
Upgrade rtos-trace for start/stop and marker support.

These methods are not used in embassy code but can be useful in client
code.

Signed-off-by: Florian Grandel <fgrandel@code-for-humans.de>
2025-08-30 17:54:03 +02:00
Florian Grandel
ba5a75cd7d
executor: rtos-trace: name main task
Assigns a name to the main task when (rtos-)tracing is active. This
improves tracing usability with the SystemView backend.

Signed-off-by: Florian Grandel <fgrandel@code-for-humans.de>
2025-08-30 17:42:37 +02:00
diondokter
e2c34ac735 Add to changelog 2025-08-29 13:58:16 +02:00
diondokter
916dce55ea Fix test & rtos-trace 2025-08-29 13:30:11 +02:00
Dario Nieuwenhuis
8aec341f28 executor: return error when creating the spawntoken, not when spawning. 2025-08-29 13:23:21 +02:00
Dario Nieuwenhuis
34ff67cdbf executor: do not deref a mut ptr to the entire taskheader. 2025-08-29 13:22:59 +02:00
Dario Nieuwenhuis
da9cdf0c53 executor: add "task metadata" concept, make name a task metadata. 2025-08-29 13:22:59 +02:00
Dario Nieuwenhuis
2ba34ce217 executor: allow trace and rtos-trace to coexist additively.
Before, enabling `trace` would enable embassy-native tracing, and
enabling *both* would *disable* embassy-native tracing.
2025-08-29 13:22:01 +02:00