| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | [embassy-executor] improved documentation | Barnaby Walters | 2023-12-22 | 1 | -0/+3 |
| | | | | | | | | | | | | | * Feature auto-documentation * Task arena sizes in a <details> list * Non-documented comment explaining turbowakers with see-also link Further improvements: * Are the task-arena-size-* numbers sizes in bytes? or something else? * Task arena section could benefit from advice about how to choose a suitable size | ||||
| * | executor: rename macro crate to embassy-executor-macros, bump it. | Dario Nieuwenhuis | 2023-12-07 | 7 | -9/+9 |
| | | |||||
| * | executor: remove arch-xtensa. | Dario Nieuwenhuis | 2023-12-03 | 2 | -92/+1 |
| | | | | | | | | | It's been broken for months and nobody has noticed. The `esp*-hal` crates have much better support. Fixes #2234 Closes #1912 | ||||
| * | executor: make task arena size configurable. | Dario Nieuwenhuis | 2023-11-24 | 1 | -3/+7 |
| | | |||||
| * | executor: add support for main/task macros in stable (allocates tasks in an ↵ | Dario Nieuwenhuis | 2023-11-24 | 6 | -8/+92 |
| | | | | | arena) | ||||
| * | executor: Remove non-functional rtos-trace-interrupt. | Dario Nieuwenhuis | 2023-11-24 | 1 | -22/+1 |
| | | |||||
| * | 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 | 8 | -65/+270 |
| | | |||||
| * | executor: add missing `main` macro reexport on xtensa. | Dario Nieuwenhuis | 2023-11-14 | 1 | -0/+3 |
| | | |||||
| * | Yeet core::sync::atomic, remove futures-util dep | Dániel Buga | 2023-11-06 | 1 | -1/+1 |
| | | |||||
| * | Upgrade static-cell to v2.0 | Dario Nieuwenhuis | 2023-11-02 | 1 | -1/+0 |
| | | |||||
| * | Update Rust nightly. | Dario Nieuwenhuis | 2023-11-01 | 1 | -0/+1 |
| | | |||||
| * | Fix #2100 - function address comparison | Aleksandr Krotov | 2023-10-25 | 1 | -1/+1 |
| | | |||||
| * | update UninitCell::write call in arch::wasm too | Hailey Somerville | 2023-09-14 | 1 | -2/+3 |
| | | |||||
| * | write to TaskStorage::future via inline(never) fn to encourage RVO | Hailey Somerville | 2023-09-14 | 2 | -3/+4 |
| | | |||||
| * | Sync all fmt.rs files. | Dario Nieuwenhuis | 2023-08-30 | 1 | -6/+39 |
| | | |||||
| * | Avoid dead code warning | Dániel Buga | 2023-08-26 | 1 | -3/+2 |
| | | |||||
| * | Make AvailableTask public, deduplicate | Dániel Buga | 2023-08-21 | 2 | -51/+65 |
| | | |||||
| * | Update docs | Dániel Buga | 2023-08-14 | 1 | -24/+25 |
| | | |||||
| * | Don't check context if only thread-mode is enabled | Dániel Buga | 2023-08-14 | 1 | -1/+2 |
| | | |||||
| * | Hide Pender | Dániel Buga | 2023-08-14 | 1 | -2/+2 |
| | | |||||
| * | Fix fn name | Dániel Buga | 2023-08-14 | 3 | -5/+5 |
| | | |||||
| * | Remove interrupt executor, remove PenderContext | Dániel Buga | 2023-08-14 | 8 | -164/+19 |
| | | |||||
| * | Make PenderContext actually pointer-size | Dániel Buga | 2023-08-14 | 1 | -1/+1 |
| | | |||||
| * | Remove the non-specific thread-mode executor | Dániel Buga | 2023-08-14 | 7 | -268/+361 |
| | | |||||
| * | Make PenderContext opaque | Dániel Buga | 2023-08-14 | 6 | -8/+29 |
| | | |||||
| * | Remove the Pender enum | Dániel Buga | 2023-08-14 | 8 | -101/+98 |
| | | |||||
| * | Remove pender-callback | Dániel Buga | 2023-08-14 | 1 | -19/+0 |
| | | |||||
| * | Remove thread-context feature | Dániel Buga | 2023-08-14 | 7 | -29/+3 |
| | | |||||
| * | Tweak identifiers and comments | Dániel Buga | 2023-08-12 | 6 | -47/+50 |
| | | |||||
| * | Lift thread-context feature restrictions | Dániel Buga | 2023-08-12 | 2 | -12/+17 |
| | | |||||
| * | Remove unnecessary !Send markers | Dániel Buga | 2023-08-12 | 4 | -21/+5 |
| | | |||||
| * | Remove Pender wrapper | Dániel Buga | 2023-08-12 | 4 | -29/+27 |
| | | |||||
| * | POC: allow custom executors | Dániel Buga | 2023-08-12 | 9 | -376/+433 |
| | | |||||
| * | 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 |
| | | |||||
| * | embassy-executor: introduce `InterruptExecutor::spawner()` | Kaspar Schleiser | 2023-06-16 | 1 | -0/+15 |
| | | |||||
| * | Work around xtensa deadlock, take 2 | Dániel Buga | 2023-05-13 | 1 | -12/+20 |
| | | |||||
| * | Executor: Replace unnecessary atomics in runqueue | Grant Miller | 2023-04-13 | 1 | -9/+16 |
| | | |||||
| * | re-export main_riscv macro as main for riscv arch. | Roy Buitenhuis | 2023-04-11 | 1 | -0/+3 |
| | | |||||
| * | 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 | 7 | -356/+602 |
| | | | | | | | | | | 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: unify export mod. | Dario Nieuwenhuis | 2023-04-03 | 1 | -8/+4 |
| | | |||||
| * | 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 | 4 | -57/+154 |
| | | |||||
| * | 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 | 2 | -11/+11 |
| | | |||||
