[roll] Roll fuchsia [starnix][hrtimer] Handles `setup_done`

I wanted to remove this from the list of TODOs which may affect the
correctness of the code.

For quite a while we did not wait for the `setup_done` event, which had
the potential to mess up the collaboration with the wake alarm manager.

List of changes:

- Handling `setup_done` signal. The "start timer" now waits until
  the wake alarm manager notifies that the alarm has been scheduled,
  before proceeding

- Subtle change of the ACK (K=1) semantics which is now required
  to avoid deadlocks.  We now signal K=1 as soon as we get a FIDL
  message, instead on relying on iteration.

  It adds more event signaling into the code path which in theory has
  performance implications. Not sure if this is something we should
  worry about now.

- Plentiful tracing annotations. Those are a lifesaver!

- Re-did the test fake for the wake alarm manager to use its own
  thread(s) to run.

  This now seems necessary because otherwise the lock uses in the test
  code interferes with the ability to run the fake FIDL server. Since
  this scenario is impossible in production, given that the wake alarm
  manager is its own process, this seemed like a correct thing to do.

Multiply: starnix-tests
Original-Bug: 373731551, 373928684
Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1193236
Original-Revision: 004181940d20ba7b14010baea9311feef1b429de
GitOrigin-RevId: 24aaa3c837b07dbeb9c4f7310b95d6f8e820cd68
Change-Id: I4d4e0e1441c47235d311d191d3669c359f30fcbe
1 file changed
tree: 5e6c6d9e307816577673c3c14150945703a79aa4
  1. ctf/
  2. git-hooks/
  3. infra/
  4. third_party/
  5. cts
  6. firmware
  7. flower
  8. jiri.lock
  9. MILESTONE
  10. minimal
  11. prebuilts
  12. README.md
  13. stem
  14. test_durations
  15. toolchain
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.