[roll third_party/pigweed] pw_sync/interrupt_spin_lock: Optimize try_lock for uniprocesors

Optimizes the existing backends for InterruptSpinLocks to implement
try_lock through lock, given that the existing uniprocessor backends
do not support SMP and ergo you cannot fail to acquire a lock. The
only risk is that you recursively lock which is already guarded
against by the lock implementation.

Also updates the backends to consistently use debug asserts to
guard against recursive locking.

And lastly it disables some test behavior which relied on recursive
locking which is undefined behavior.

Original-Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/70528

https://pigweed.googlesource.com/pigweed/pigweed
third_party/pigweed Rolled-Commits: 04965817fcb78ef..2fed999cfb5afef
Roller-URL: https://ci.chromium.org/b/8829738415691694641
Cq-Cl-Tag: roller-builder:pigweed-experimental-roller
Cq-Cl-Tag: roller-bid:8829738415691694641
CQ-Do-Not-Cancel-Tryjobs: true
Change-Id: I88af524d1f2dc491da0be817619267d3bc07d8bc
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/experimental/+/70530
Bot-Commit: Pigweed Integration Roller <pigweed-integration-roller@pigweed.google.com.iam.gserviceaccount.com>
Commit-Queue: Pigweed Integration Roller <pigweed-integration-roller@pigweed.google.com.iam.gserviceaccount.com>
1 file changed
tree: 6e3b6ea202da186f476eeeeb8e5ff4836e36f372
  1. applications/
  2. build_overrides/
  3. pw_board_led/
  4. pw_board_led_arduino/
  5. pw_board_led_host/
  6. pw_board_led_stm32cube/
  7. pw_board_led_stm32f429i_disc1/
  8. pw_spin_delay/
  9. pw_spin_delay_arduino/
  10. pw_spin_delay_host/
  11. pw_spin_delay_stm32cube/
  12. pw_spin_delay_stm32f429i_disc1/
  13. pw_sys_io_stm32cube/
  14. targets/
  15. third_party/
  16. tools/
  17. .gitattributes
  18. .gitignore
  19. .gitmodules
  20. .gn
  21. activate.bat
  22. banner.txt
  23. bootstrap.bat
  24. bootstrap.sh
  25. BUILD.gn
  26. BUILDCONFIG.gn
  27. env_setup.json
  28. navbar.md
  29. OWNERS
  30. PW_PLUGINS
  31. README.md
README.md

Pigweed Experimental

This repository contains experimental pigweed modules.

Repository setup

Clone this repo with --recursive to get all required submodules.

git clone --recursive https://pigweed.googlesource.com/pigweed/experimental

This will pull the Pigweed source repository into third_party/pigweed. If you already cloned but forgot to --recursive run git submodule update --init to pull all submodules.