[roll] Roll fuchsia [kernel][sched][wait] Make deferred reschedule IPIs stateful.

Avoid passing around CPU accumulator masks when deferring
reschedule IPIs. Instead, add a stateful facility to Thread that
accumulates pending reschedules generated on local CPU to be
flushed later.

- Move remaining mp bitmasks to atomics to reduce dependence on the
  thread lock.
- Remove obsolete realtime mp bits.
- Add support for pendable reschedule IPIs and tidy up the logic
  that generates reschedule IPIs.
- Clean up the WaitQueue/OwnedWaitQueue that passed around CPU
  masks to use the new pending reschedule facility. Also clean up
  some bool return values that were ultimately not used for
  anything.

Test: fx core-tests --qemu -k (100 iterations)
Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/436998
Original-Revision: 35790dfb7448d81e893859a06a463c9eabf5f7eb
GitOrigin-RevId: 02ebd767a15ce374fb94ad83788ea6053ccc87ef
Change-Id: Id31ca7068a5effa4f4b8352496a0135304c6b5f8
1 file changed
tree: fb4c8055986792c927ef2fbeadafe3e274f2bce4
  1. garnet/
  2. infra/
  3. peridot/
  4. third_party/
  5. topaz/
  6. zircon/
  7. firmware
  8. flower
  9. jiri.lock
  10. minimal
  11. prebuilts
  12. README.md
  13. stem
  14. test_durations
README.md

Integration

This repository contains Fuchsia's Global Integration manifest files.

Making changes

All changes should be made to the internal version of this repository. Our infrastructure automatically updates this version when the internal one changes.

Currently all changes must be made by a Google employee. Non-Google employees wishing to make a change can ask for assistance via the IRC channel #fuchsia on Freenode.

Obtaining the source

First install Jiri.

Next run:

$ jiri init
$ jiri import minimal https://fuchsia.googlesource.com/integration
$ jiri update

Third party

Third party projects should have their own subdirectory in ./third_party.