| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| * | Refactor integrated-timers | Dániel Buga | 2024-12-10 | 3 | -141/+88 | |
| | | ||||||
| * | Extend tracing api to support executor id and end task | Ulf Lilleengen | 2024-12-09 | 2 | -40/+102 | |
| | | | | | | | Allow applications to provide a trace implementation that only needs to implement APIs used by the embassy executor, and provide more context in the event of multiple executors being used. | |||||
| * | Add initialize | Dániel Buga | 2024-11-19 | 1 | -5/+16 | |
| | | ||||||
| * | Only set callback once | Dániel Buga | 2024-11-19 | 1 | -5/+7 | |
| | | ||||||
| * | executor: compare vtable addr instead of contents. | Dario Nieuwenhuis | 2024-11-12 | 1 | -1/+3 | |
| | | | | | Saves a whopping 44 bytes of text, yay. | |||||
| * | executor: use WakerHack unconditionally even if `nightly` feature is ↵ | Dario Nieuwenhuis | 2024-11-12 | 1 | -31/+11 | |
| | | | | | | | enabled. (#3528) This ensures the executor compiles with all recent nightly versions, including the stable-but-with-nightly-features-enabled xtensa rustc. | |||||
| * | Detect and allow older nightlies | Dániel Buga | 2024-11-06 | 1 | -1/+10 | |
| | | ||||||
| * | fix: nightly api changed during the night | Oleksandr Babak | 2024-09-06 | 1 | -2/+1 | |
| | | ||||||
| * | minimize cfg code in task_from_waker | zjp | 2024-06-13 | 1 | -26/+23 | |
| | | ||||||
| * | put cfg code inside task_from_waker function | zjp | 2024-06-13 | 1 | -36/+26 | |
| | | ||||||
| * | fix warning on unused import | zjp | 2024-06-09 | 1 | -2/+1 | |
| | | ||||||
| * | use nightly waker_getters APIs | zjp | 2024-06-09 | 1 | -0/+25 | |
| | | | | | | | | Since https://github.com/rust-lang/rust/issues/96992 has stalled, to prevent potential unsoundness caused by transmuting to &WakerHack, we can use nightly waker_getters APIs by gating it behind nightly feature in embassy-executor without waiting for it to be stablized. | |||||
| * | Fix warnings in recent nightly. | Dario Nieuwenhuis | 2024-03-20 | 1 | -1/+1 | |
| | | ||||||
| * | fix: removed trailing comma | xgroleau🐢 | 2024-02-08 | 1 | -1/+1 | |
| | | ||||||
| * | fix: missing 0 | xgroleau🐢 | 2024-02-08 | 1 | -1/+1 | |
| | | ||||||
| * | fix: compilation for rtos trace | xgroleau🐢 | 2024-02-08 | 1 | -1/+11 | |
| | | ||||||
| * | fix: rtos-usage time missing | xgroleau🐢 | 2024-02-06 | 1 | -1/+1 | |
| | | ||||||
| * | time: split queue driver too, don't reexport drivers. | Dario Nieuwenhuis | 2024-01-11 | 2 | -21/+18 | |
| | | ||||||
| * | executor: rename macro crate to embassy-executor-macros, bump it. | Dario Nieuwenhuis | 2023-12-07 | 1 | -2/+2 | |
| | | ||||||
| * | executor: add faster ARM-specific impl. | Dario Nieuwenhuis | 2023-11-15 | 2 | -1/+105 | |
| | | | | | Does a wake+poll in 79 cycles in nrf52840. | |||||
| * | executor: remove atomic-polyfill. | Dario Nieuwenhuis | 2023-11-15 | 6 | -52/+260 | |
| | | ||||||
| * | Fix #2100 - function address comparison | Aleksandr Krotov | 2023-10-25 | 1 | -1/+1 | |
| | | ||||||
| * | write to TaskStorage::future via inline(never) fn to encourage RVO | Hailey Somerville | 2023-09-14 | 2 | -3/+4 | |
| | | ||||||
| * | Make AvailableTask public, deduplicate | Dániel Buga | 2023-08-21 | 1 | -50/+63 | |
| | | ||||||
| * | Update docs | Dániel Buga | 2023-08-14 | 1 | -24/+25 | |
| | | ||||||
| * | Hide Pender | Dániel Buga | 2023-08-14 | 1 | -2/+2 | |
| | | ||||||
| * | Remove interrupt executor, remove PenderContext | Dániel Buga | 2023-08-14 | 1 | -12/+5 | |
| | | ||||||
| * | Make PenderContext actually pointer-size | Dániel Buga | 2023-08-14 | 1 | -1/+1 | |
| | | ||||||
| * | Make PenderContext opaque | Dániel Buga | 2023-08-14 | 1 | -2/+21 | |
| | | ||||||
| * | Remove the Pender enum | Dániel Buga | 2023-08-14 | 1 | -41/+7 | |
| | | ||||||
| * | Remove pender-callback | Dániel Buga | 2023-08-14 | 1 | -19/+0 | |
| | | ||||||
| * | Remove thread-context feature | Dániel Buga | 2023-08-14 | 1 | -7/+0 | |
| | | ||||||
| * | Remove Pender wrapper | Dániel Buga | 2023-08-12 | 1 | -21/+21 | |
| | | ||||||
| * | POC: allow custom executors | Dániel Buga | 2023-08-12 | 1 | -4/+31 | |
| | | ||||||
| * | add wake_task_no_pend for expired timer enqueue inside run_queue | loris | 2023-08-05 | 1 | -1/+26 | |
| | | ||||||
| * | Allow clearing finished task from timer queue | Dániel Buga | 2023-07-12 | 1 | -0/+3 | |
| | | ||||||
| * | Executor: Replace unnecessary atomics in runqueue | Grant Miller | 2023-04-13 | 1 | -9/+16 | |
| | | ||||||
| * | executor: Replace unsound critical sections with atomics | Grant Miller | 2023-04-05 | 2 | -21/+25 | |
| | | ||||||
| * | executor: add Pender, rework Cargo features. | Dario Nieuwenhuis | 2023-04-03 | 1 | -21/+76 | |
| | | | | | | | | | | This introduces a `Pender` struct with enum cases for thread-mode, interrupt-mode and custom callback executors. This avoids calls through function pointers when using only the thread or interrupt executors. Faster, and friendlier to `cargo-call-stack`. `embassy-executor` now has `arch-xxx` Cargo features to select the arch and to enable the builtin executors (thread and interrupt). | |||||
| * | executor,sync: add support for turbo-wakers. | Dario Nieuwenhuis | 2023-03-30 | 2 | -0/+35 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | This is a `core` patch to make wakers 1 word (the task pointer) instead of 2 (task pointer + vtable). It allows having the "waker optimization" we had a while back on `WakerRegistration/AtomicWaker`, but EVERYWHERE, without patching all crates. Advantages: - Less memory usage. - Faster. - `AtomicWaker` can actually use atomics to load/store the waker, No critical section needed. - No `dyn` call, which means `cargo-call-stack` can now see through wakes. Disadvantages: - You have to patch `core`... - Breaks all executors and other things that create wakers, unless they opt in to using the new `from_ptr` API. How to use: - Run this shell script to patch `core`. https://gist.github.com/Dirbaio/c67da7cf318515181539122c9d32b395 - Enable `build-std` - Enable `build-std-features = core/turbowakers` - Enable feature `turbowakers` in `embassy-executor`, `embassy-sync`. - Make sure you have no other crate creating wakers other than `embassy-executor`. These will panic at runtime. Note that the patched `core` is equivalent to the unpached one when the `turbowakers` feature is not enabled, so it should be fine to leave it there. | |||||
| * | executor: Use AtomicPtr for signal_ctx, removes 1 unsafe. | Dario Nieuwenhuis | 2023-03-27 | 1 | -6/+4 | |
| | | ||||||
| * | executor: deduplicate doc comments. | Dario Nieuwenhuis | 2023-03-27 | 1 | -24/+1 | |
| | | ||||||
| * | executor: Allow TaskStorage to auto-implement `Sync` | Grant Miller | 2023-03-20 | 3 | -49/+150 | |
| | | ||||||
| * | Make `poll_fn` lazily initialized again | Grant Miller | 2023-01-31 | 1 | -3/+5 | |
| | | ||||||
| * | Add internal `AvailableTask` type | Grant Miller | 2023-01-31 | 1 | -28/+40 | |
| | | ||||||
| * | Replace the pointer in `TaskHeader` with an `Option<&Executor>` | Grant Miller | 2023-01-31 | 1 | -5/+5 | |
| | | ||||||
| * | Set `poll_fn` in `TaskStorage::new` | Grant Miller | 2023-01-31 | 2 | -27/+14 | |
| | | ||||||
| * | Make `wake_task` safe | Grant Miller | 2023-01-29 | 1 | -9/+7 | |
| | | ||||||
| * | executor: Replace `NonNull<TaskHeader>` with `TaskRef` | Grant Miller | 2023-01-29 | 4 | -52/+72 | |
| | | ||||||
| * | Remove the _embassy_time_schedule_wake magic | ivmarkov | 2022-10-26 | 1 | -6/+13 | |
| | | ||||||
