| commit | a6107892521ce719430a72a885440b1965a54644 | [log] [tgz] |
|---|---|---|
| author | Ghanan Gowripalan <ghanan@fuchsia.infra.roller.google.com> | Thu Jan 11 02:09:11 2024 +0000 |
| committer | Copybara-Service <copybara-worker@google.com> | Wed Jan 10 18:10:41 2024 -0800 |
| tree | 17d782e05cd8964929020a3a6d526046aa9bfef7 | |
| parent | 62c74cabed0c876c00cb75475df5cc7072b8790d [diff] |
[roll] Roll fuchsia [starnix] Avoid copy in `UserBuffer`s buffers
This change avoids an allocation and data copy when using
`UserBuffers{Input,Output}Buffer` to read, peek or write
bytes from/to the buffer.
Performance changes (x64):
```
Test case Improve/regress? Factor change Mean before Mean after
----------------------------------------------------- ---------------- ------------- ----------------------- -----------------------
fuchsia.starnix.gvisor_benchmarks: Append improved 0.941-0.988 3662 +/- 59 ns 3531 +/- 28 ns
fuchsia.starnix.gvisor_benchmarks: GetdentsNewFd/512 regressed 1.002-1.021 330.1 +/- 1.4 ns 333.8 +/- 1.7 ns
fuchsia.starnix.gvisor_benchmarks: GetdentsSameFd/512 regressed 1.006-1.016 317.50 +/- 0.95 ns 320.87 +/- 0.62 ns
fuchsia.starnix.gvisor_benchmarks: Pipe/1048576 improved 0.057-0.064 5668607 +/- 31191 ns 342957 +/- 19144 ns
fuchsia.starnix.gvisor_benchmarks: Pipe/262144 improved 0.155-0.200 462380 +/- 8738 ns 81730 +/- 8804 ns
fuchsia.starnix.gvisor_benchmarks: Pipe/32768 improved 0.653-0.794 15903 +/- 211 ns 11491 +/- 970 ns
fuchsia.starnix.gvisor_benchmarks: Pipe/4096 improved 0.905-0.927 4167 +/- 24 ns 3816 +/- 25 ns
fuchsia.starnix.gvisor_benchmarks: Pipe/512 improved 0.930-0.993 3638 +/- 52 ns 3496 +/- 66 ns
fuchsia.starnix.gvisor_benchmarks: RandRead/16777216 improved 0.556-0.589 23324429 +/- 403347 ns 13339240 +/- 150806 ns
fuchsia.starnix.gvisor_benchmarks: RandRead/2097152 improved 0.535-0.558 2848809 +/- 34988 ns 1556648 +/- 14723 ns
fuchsia.starnix.gvisor_benchmarks: RandRead/262144 improved 0.568-0.575 349901 +/- 860 ns 200003 +/- 667 ns
fuchsia.starnix.gvisor_benchmarks: RandRead/32768 improved 0.815-0.960 10357 +/- 434 ns 9158 +/- 364 ns
fuchsia.starnix.gvisor_benchmarks: RandRead/67108864 improved 0.552-0.593 93265424 +/- 1771029 ns 53334729 +/- 877987 ns
fuchsia.starnix.gvisor_benchmarks: Read/16777216 improved 0.498-0.574 21290980 +/- 565151 ns 11396042 +/- 504995 ns
fuchsia.starnix.gvisor_benchmarks: Read/2097152 improved 0.482-0.542 2568618 +/- 77699 ns 1311990 +/- 37375 ns
fuchsia.starnix.gvisor_benchmarks: Read/262144 improved 0.520-0.527 314523 +/- 1168 ns 164644 +/- 377 ns
fuchsia.starnix.gvisor_benchmarks: Read/32768 improved 0.815-0.902 8261 +/- 241 ns 7085 +/- 152 ns
fuchsia.starnix.gvisor_benchmarks: Read/4096 improved 0.889-0.982 3082 +/- 39 ns 2881 +/- 106 ns
fuchsia.starnix.gvisor_benchmarks: Read/67108864 improved 0.494-0.586 85491504 +/- 3259176 ns 46003774 +/- 2156696 ns
fuchsia.starnix.gvisor_benchmarks: SeqWrite/16777216 improved 0.542-0.611 23230278 +/- 689259 ns 13363048 +/- 402350 ns
fuchsia.starnix.gvisor_benchmarks: SeqWrite/2097152 improved 0.536-0.601 2829558 +/- 73569 ns 1606288 +/- 48931 ns
fuchsia.starnix.gvisor_benchmarks: SeqWrite/262144 improved 0.552-0.573 345922 +/- 2182 ns 194570 +/- 2284 ns
fuchsia.starnix.gvisor_benchmarks: SeqWrite/32768 improved 0.819-0.922 11892 +/- 284 ns 10339 +/- 368 ns
fuchsia.starnix.gvisor_benchmarks: SeqWrite/4096 improved 0.910-0.972 4575 +/- 60 ns 4305 +/- 86 ns
fuchsia.starnix.gvisor_benchmarks: SeqWrite/512 improved 0.942-0.988 3052 +/- 12 ns 2944 +/- 58 ns
fuchsia.starnix.gvisor_benchmarks: SeqWrite/64 improved 0.939-0.999 2848 +/- 30 ns 2758 +/- 57 ns
fuchsia.starnix.gvisor_benchmarks: SeqWrite/67108864 improved 0.540-0.606 93563828 +/- 2573015 ns 53519912 +/- 1601736 ns
fuchsia.starnix.gvisor_benchmarks: SeqWrite/8 improved 0.932-0.996 2827 +/- 40 ns 2725 +/- 52 ns
fuchsia.starnix.gvisor_benchmarks: Write/1 improved 0.923-0.990 2821 +/- 41 ns 2697 +/- 55 ns
fuchsia.starnix.gvisor_benchmarks: Write/16777216 improved 0.511-0.575 22206100 +/- 392771 ns 12047287 +/- 502617 ns
fuchsia.starnix.gvisor_benchmarks: Write/2097152 improved 0.501-0.564 2681024 +/- 41060 ns 1427019 +/- 62033 ns
fuchsia.starnix.gvisor_benchmarks: Write/262144 improved 0.520-0.525 313517 +/- 1046 ns 163780 +/- 346 ns
fuchsia.starnix.gvisor_benchmarks: Write/32768 improved 0.810-0.867 7632 +/- 128 ns 6396 +/- 109 ns
fuchsia.starnix.gvisor_benchmarks: Write/4096 improved 0.886-0.957 3245 +/- 75 ns 2987 +/- 46 ns
fuchsia.starnix.gvisor_benchmarks: Write/512 improved 0.917-0.990 2865 +/- 56 ns 2729 +/- 50 ns
fuchsia.starnix.gvisor_benchmarks: Write/64 improved 0.925-0.991 2818 +/- 43 ns 2698 +/- 52 ns
fuchsia.starnix.gvisor_benchmarks: Write/67108864 improved 0.525-0.592 86776086 +/- 1697254 ns 48429117 +/- 1964684 ns
fuchsia.starnix.gvisor_benchmarks: Write/8 improved 0.931-0.985 2821 +/- 31 ns 2703 +/- 46 ns
fuchsia.storage: ReadRandomWarm/8192/starnix_tmp improved 0.869-0.963 4425 +/- 182 ns 4046 +/- 41 ns
fuchsia.storage: ReadSequentialWarm/8192/starnix_tmp improved 0.883-0.971 5107 +/- 136 ns 4726 +/- 99 ns
fuchsia.storage: WriteRandomCold/8192/starnix_tmp improved 0.879-0.974 5351 +/- 160 ns 4952 +/- 106 ns
fuchsia.storage: WriteRandomWarm/8192/starnix_tmp improved 0.854-0.965 4482 +/- 142 ns 4071 +/- 119 ns
fuchsia.storage: WriteSequentialCold/8192/starnix_tmp improved 0.897-0.984 6632 +/- 229 ns 6225 +/- 73 ns
fuchsia.storage: WriteSequentialWarm/8192/starnix_tmp improved 0.864-0.972 5244 +/- 189 ns 4803 +/- 108 ns
```
Performance changes (arm64):
```
Test case Improve/regress? Factor change Mean before Mean after
-------------------------------------------------- ---------------- ------------- ------------------------ ----------------------
fuchsia.starnix.gvisor_benchmarks: Pipe/1048576 improved ci_too_wide 9028459 +/- 68844 ns 652427 +/- 784296 ns
fuchsia.starnix.gvisor_benchmarks: Pipe/262144 improved ci_too_wide 790158 +/- 16205 ns 161608 +/- 211590 ns
fuchsia.starnix.gvisor_benchmarks: ProcessSwitch/8 improved 0.935-0.994 95425 +/- 1360 ns 91962 +/- 1512 ns
fuchsia.starnix.gvisor_benchmarks: Read/2097152 improved 0.609-0.640 3941694 +/- 29240 ns 2462018 +/- 43043 ns
fuchsia.starnix.gvisor_benchmarks: Read/262144 improved 0.570-0.669 530935 +/- 28869 ns 327581 +/- 8404 ns
fuchsia.starnix.gvisor_benchmarks: Read/32768 improved 0.730-0.774 17944 +/- 102 ns 13495 +/- 317 ns
fuchsia.starnix.gvisor_benchmarks: Read/4096 improved 0.786-0.949 4347 +/- 147 ns 3757 +/- 228 ns
fuchsia.starnix.gvisor_benchmarks: Write/16777216 improved 0.591-0.603 28111063 +/- 181968 ns 16775403 +/- 54045 ns
fuchsia.starnix.gvisor_benchmarks: Write/2097152 improved 0.591-0.617 3681142 +/- 17807 ns 2222925 +/- 35727 ns
fuchsia.starnix.gvisor_benchmarks: Write/262144 improved 0.573-0.617 498511 +/- 10285 ns 296356 +/- 4768 ns
fuchsia.starnix.gvisor_benchmarks: Write/32768 improved 0.772-0.799 16055 +/- 106 ns 12606 +/- 137 ns
fuchsia.starnix.gvisor_benchmarks: Write/4096 improved 0.803-0.959 4722 +/- 170 ns 4146 +/- 220 ns
fuchsia.starnix.gvisor_benchmarks: Write/67108864 improved 0.609-0.626 112459601 +/- 1116055 ns 69440563 +/- 244294 ns
```
Original-Bug: b/310035279, b/298215473, b/318701791
Cq-Include-Trybots: luci.fuchsia.try:core.arm64-cxx20,core.x64-cxx20,core.x64-debug,core.arm64-debug,terminal.x64-release-perfcompare,terminal.vim3-release-perfcompare
Original-Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/970994
Original-Revision: a4601bc64a109be5cc18989136d19d8e559778b2
GitOrigin-RevId: 549600a221fd8d75a987f5a3aad007836f52ee10
Change-Id: Ie5a54599d531e0a134d170e2ee0127fb4891d3e1
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 via the IRC channel #fuchsia on Freenode.
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.