Skip to content

executor: support rtos-trace without pointer CAS - #6622

Open
tianrking wants to merge 1 commit into
embassy-rs:mainfrom
tianrking:agent/fix-rv32imc-rtos-trace
Open

executor: support rtos-trace without pointer CAS#6622
tianrking wants to merge 1 commit into
embassy-rs:mainfrom
tianrking:agent/fix-rv32imc-rtos-trace

Conversation

@tianrking

@tianrking tianrking commented Jul 26, 2026

Copy link
Copy Markdown

Fixes #5698.

Summary

  • Keep the existing lock-free TaskTracker insertion on targets with pointer compare-and-swap support.
  • Serialize task-list insertion with critical_section on targets without pointer CAS support.
  • Add riscv32imc-unknown-none-elf with executor-thread,rtos-trace to the executor build matrix and pinned toolchain targets so this configuration remains covered.

This keeps the fallback local to the trace task list and avoids adding a new atomic dependency for the rest of embassy-executor.

Validation

  • rustfmt +nightly-2025-12-11 --check --skip-children --unstable-features --edition 2024 embassy-executor/src/raw/trace.rs
  • $env:RUSTFLAGS='-Dwarnings'; cargo check --manifest-path embassy-executor/Cargo.toml --target riscv32imc-unknown-none-elf --no-default-features --features 'platform-riscv32,executor-thread,rtos-trace'

Development disclosure

OpenAI Codex assisted with the implementation and test setup. The fallback and existing CAS paths were independently cross-reviewed and compile-checked; no hardware testing was performed.

@embassy-bot

embassy-bot Bot commented Jul 26, 2026

Copy link
Copy Markdown

👋 Welcome, @tianrking, and thanks for opening your first pull request here!

If you haven't already, please give the contributor guide a read.

@tianrking
tianrking marked this pull request as draft July 26, 2026 17:26
@tianrking
tianrking marked this pull request as ready for review July 26, 2026 17:41
@tianrking
tianrking marked this pull request as draft July 26, 2026 18:00
@tianrking
tianrking marked this pull request as ready for review July 26, 2026 18:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Use portable-atomic on embassy-executor

2 participants