Commit 9291e212 authored by Antonio Caggiano's avatar Antonio Caggiano
Browse files

Add some more info

Counters and slices view, crouton, and no space left on device.
parent 421209b9
......@@ -16,9 +16,11 @@ give us access to the related repos.
- [Events analysis](#events-analysis)
- [Trace simultaneously host and guest](#trace-simultaneously-host-and-guest)
- [Replay a trace](#replay-a-trace)
- [Crouton](#crouton)
- [Known issues](#known-issues)
- [Custom mesa](#custom-mesa)
- [Git clone](#git-clone)
- [No space left on device](#no-space-left-on-device)
- [Update host mesa to enable blobs (needed fro Vulkan and ARB_buffer_storage)](#update-host-mesa-to-enable-blobs-needed-fro-vulkan-and-arb_buffer_storage)
- [Work on package `foo`](#work-on-package-foo)
- [Updating the borealis VM](#updating-the-borealis-vm)
......@@ -307,6 +309,11 @@ The line above will generate a trace on the chromebook and, once finished, will
A feature of the TraceViewer that I find quite useful is the [selection tool](https://youtu.be/phhLFicMacY?t=259).
|![Counters View](counters-view.png)|
|-|
|Here we can see aggregation data about the GPU and the Execution Unit. We can deduce that while the GPU is 100% busy, the EU is not as it is stalling ~42% of the time, meaning the bottleneck is in previous stages of the pipeline.|
|The slices tab gives us some aggregation data about the event slices. It can be useful ordering by occurrences and wall duration to figure out which functions are taking most of the time.|
### Trace simultaneously host and guest
- Clone and build vperfetto_merge (https://github.com/batesj/vperfetto), make sure it's in your PATH.
......@@ -328,6 +335,21 @@ You can pull them directly from the chromebook, setting up git and possible acce
(guest) DISPLAY=:0 apitrace replay some.trace
```
## Crouton
While hunting for performance issues, it is good practice to compare how the same content runs on the same hardware with no VMs in the middle.
With [crouton](https://github.com/dnschneid/crouton) you run a Linux installation in a chroot, so that you get full host performance in the Chromebook. The only problem might be with the mesa version you use, because it might be a bit older.
```sh
(host)
sudo crouton -r bullseye -t xfce
sudo startxfce4
```
> Enter chroot with `enter-chroot`
> Flip with `Ctrl+Alt+Shift+Back(Forward)`
## Known issues
### Custom mesa
......@@ -348,6 +370,21 @@ This [can be worked around](https://groups.google.com/a/chromium.org/g/chromium-
ln -s /usr/local/libexec/git-core /usr/libexec/
```
### No space left on device
It is not uncommon that `cros deploy` would fail with a [no space left on device error](https://chromium.googlesource.com/chromiumos/docs/+/main/cros_deploy.md#No-space-left-on-device). Some suggestions:
- When a deploy fails for this reason, files with `#new` suffix may appear. Check your `cros deploy` output for hints on any affected file and delete it manually.
- Delete or move some stuff to make up space.
```sh
# /usr/local is not mounted under /
mv /usr/bin/pps-producer /usr/local/bin
```
- Reboot the chromebook (gets rid of temp files, usually gets the job done).
- Reflash your chromeos image with bigger partition.
> Note: Play store and any stuff installed does not contribute to `/dev/root` size
## Update host mesa to enable blobs (needed fro Vulkan and ARB_buffer_storage)
Run
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment