[roll] Roll fuchsia Revert "[starnix][mm] Switch to RangeMap2" This reverts commit 4ba65d600dfb847d55765c0413080ca466743830. Reason for revert: Causes frequent Starnix panic, b/411518340 Original-Bug: b/392735168 Original change's description: > [starnix][mm] Switch to RangeMap2 > > This CL switches the Starnix MemoryManager to use the RangeMap > implementation. The new RangeMap implementation uses 5 MiB less memory > on typical workload and is faster: > > ``` > Test case Improve/regress? Factor change Mean before Mean after > ------------------------------------------------------------------------------- ---------------- ------------- ------------------------ ------------------------- > fuchsia.fidl_microbenchmarks: CPP/Decode/Table/Unset/16/Steps.Teardown/WallTime regressed 1.000-1.015 127.23 +/- 0.24 ns 128.19 +/- 0.70 ns > fuchsia.microbenchmarks.starnix: ForkMultiple/64.fork regressed 1.004-1.027 18919215 +/- 134558 ns 19213121 +/- 82571 ns > fuchsia.microbenchmarks.starnix: ForkMultiple/8.fork regressed 1.003-1.022 2351133 +/- 14514 ns 2380439 +/- 8471 ns > fuchsia.microbenchmarks.starnix: ForkMultipleNested/64.fork regressed 1.006-1.023 27651024 +/- 121743 ns 28047858 +/- 119788 ns > fuchsia.microbenchmarks.starnix: ForkMultipleNested/64.wait improved 0.980-0.997 7915500 +/- 52420 ns 7820997 +/- 14896 ns > fuchsia.microbenchmarks.starnix: ForkMultipleNested/8.fork regressed 1.005-1.024 3144786 +/- 19676 ns 3189831 +/- 10624 ns > fuchsia.microbenchmarks.starnix: ForkMultipleNested/8.wait improved 0.985-1.000 873379 +/- 3888 ns 866946 +/- 2537 ns > fuchsia.microbenchmarks.starnix: ProcessSpawn regressed 1.000-1.011 1644517 +/- 5333 ns 1653608 +/- 3379 ns > fuchsia.microbenchmarks: Vmo/Clone/MapParent16segments/32768kbytes.clone regressed 1.004-1.050 71071 +/- 1045 ns 72962 +/- 556 ns > fuchsia.microbenchmarks: Vmo/Clone/MapParent1segments/32768kbytes.clone regressed 1.004-1.049 70515 +/- 974 ns 72342 +/- 592 ns > fuchsia.microbenchmarks: Vmo/Clone/MapParent1segments/32768kbytes.close regressed 1.000-1.028 137133 +/- 1005 ns 139054 +/- 864 ns > fuchsia.microbenchmarks: Vmo/Clone/MapParent512segments/32768kbytes.clone regressed 1.005-1.054 71160 +/- 1114 ns 73240 +/- 622 ns > fuchsia.microbenchmarks: Vmo/Clone/MapParent8192segments/32768kbytes.clone regressed 1.005-1.055 71779 +/- 996 ns 73916 +/- 779 ns > fuchsia.starnix.gvisor_benchmarks: MapTouchMany/4096 improved 0.547-0.567 124423541 +/- 753155 ns 69287694 +/- 877064 ns > fuchsia.starnix.gvisor_benchmarks: MapTouchMany/512 improved 0.915-0.958 8693252 +/- 90227 ns 8138916 +/- 102972 ns > fuchsia.starnix.gvisor_benchmarks: ThreadStart/2048 improved 0.863-0.945 508857672 +/- 5907064 ns 459887029 +/- 15539489 ns > > ``` > > The new RangeMap data structure also supports copy-on-write semantics, > but Starnix does not use the copy-on-write functionality in this CL. We > can start using that functionality in a later CL. > > Original-Bug: b/392735168 > Change-Id: I8411b898f2a193a36465ed5f6a4ebcc344e94346 > Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1254551 > Reviewed-by: Adam Perry <adamperry@google.com> > Fuchsia-Auto-Submit: Adam Barth <abarth@google.com> > Commit-Queue: Auto-Submit <auto-submit@fuchsia-infra.iam.gserviceaccount.com> Original-Bug: b/392735168 Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1255352 Original-Revision: 5d07fe5071a67952267d97e04318a6a6e5eb127f GitOrigin-RevId: 74dbfd7791075edcd511d09a09af01ae48af848e Change-Id: Ib5357d34f68ea45f9ec1cf374228b5a3f61eeab3
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.