[roll] Roll fuchsia [kernel][scheduler] Fix target CPU behaviour in UnblockSynchronous

In UnblockSynchronous(), we attempt to reduce the number of reschedules
required for the current CPU, as we expect to reschedule at a later
point through BlockAndAssignOwner().

However, if the target CPU is not the current CPU, we were failing to
issue a reschedule IPI, delaying the run of the thread.

We also want to delay issuing the reschedule IPI until the PI chain is
established in BlockAndAssignOwner(). Since we call UnblockSynchronous()
(and therefore RescheduleMask()) within a ChainLockTransaction with
EagerReschedDisable, we will actually delay the reschedule IPI until we
are in BlockAndAssignOwner() and call RescheduleCommon() (via Block()).

Original-Original-Bug: 42182908
Original-Original-Bug: 512109180
Original-Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1629654
Original-Original-Revision: dd96901d8ee0f289a69c9dec322f87807e34d6ee
GitOrigin-RevId: c82980fc466ceb15128dcfb717e499f9c442cde8
Change-Id: Ic7db49ed1d4161779f1762bf1637a215f84bf476
1 file changed
tree: 5830446962448370f3bf29d4e71adcc7dea629db
  1. ctf/
  2. git-hooks/
  3. infra/
  4. third_party/
  5. cobalt
  6. flower
  7. jiri.lock
  8. MILESTONE
  9. minimal
  10. prebuilts
  11. README.md
  12. stem
  13. 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 in one of the communication channels documented at get involved.

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.