[roll] Roll fuchsia [starnix] Set up a channel to listen to ioctl enable and disable calls

- Instead of spawning an executor to sample, we now have a channel that receives a notification when we want to start and stop sampling. We ping the receiver when we get the IOC_ENABLE calls (IOC_DISABLE TBD later).
- Once a session is complete, we return so that the profiler session is available for another thread to use.
- Add retries to match perfetto behavior.
- We are still hardcoding a duration because the logic for IOCTL_DISABLE stop and process the samples might get complicated and I will put it in a separate CL.
- Add a pointer to data_head so that we can update its value atomically, although this feature is currently commented out until we can properly implement data_head updating.
- Close connections for some tests that were missing that.

Multiply: fuchsia-pkg://fuchsia.com/starnix_syscalls_cpp_tests#meta/perf_event_open_test.cm

Original-Bug: 428974888

Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1362361
Original-Revision: daa21e8dde51766d0c9438a219869157db60c533
GitOrigin-RevId: 7102b782c98733375b5cf878948a86567d785545
Change-Id: Ib3435543bf6530e41fbdfd141359e45c1486d9d3
1 file changed
tree: 7f4aedc8d43068ab216b043ab04623c856f35bb0
  1. ctf/
  2. git-hooks/
  3. infra/
  4. third_party/
  5. flower
  6. jiri.lock
  7. MILESTONE
  8. minimal
  9. prebuilts
  10. README.md
  11. stem
  12. 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.