[roll] Roll fuchsia [tracefs] Lockless ring buffer Implements the tracefs ring buffer with a lockless design. This is based on the design in https://docs.kernel.org/trace/ring-buffer-design.html The implementation is using Rust, so there are some differences when dealing with pointers and some other data structure differences. This implementation takes advantage of only reading full pages of events when the page is completely committed. By doing this we can handle writes to the same page being reserved in order, but committed out of order and only reading the page when all writes are committed. The performance improvement is Reading: P99 improved 46.5% from 73.59 us to 39.30 us. Writing: P99 improved 33.4% from 53.59 us to 35.68 us. Reading: average improved 75.6% from 32.77 us to 7.98 us. Writing: average improved 42.7% from 16.92 us to 9.68 us. Multiply: starnix_core_tests:perf:: Original-Original-Bug: 414642814 Original-Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1585075 Original-Original-Revision: 66694476e90ab059fca4bc6b1196721cdae7d0bc GitOrigin-RevId: 6e8a5e8891dd4483d96ef22f97a7e3e6a67f88c6 Change-Id: Icdc9c84545d9ab34b2a9d24b2d6f94c98d94bc1a Reviewed-on: https://fuchsia-review.googlesource.com/c/integration/+/1622161 Cr-Commit-Position: refs/heads/main@{#193247}
This repository contains Fuchsia's Global Integration manifest files.
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.
First install Jiri.
Next run:
$ jiri init $ jiri import minimal https://fuchsia.googlesource.com/integration $ jiri update
Third party projects should have their own subdirectory in ./third_party.