Attached are flamegraphs from running vm.StartTerminaVM with qcow2 and raw disk images. I noticed that when extracting the squashfs or tar.xz rootfs, the CPU is usually at 15% or lower utilization. We appear to be blocked primarily on fsync() when appending data clusters.
Container download and setup is going to grow the disk a lot. Maybe we should preallocate a certain amount (1-2 GiB), increase our block size, or grow the disk by a few clusters instead of just one.
Results from my sample sizes of 1.
vm.StartTerminaVM total runtime
eve kevin
raw 1m12s 1m16s
qcow2 2m53s 3m10s
vm.StartTerminaVM container download/extraction only
eve kevin
raw 38s 35s
qcow2 2m24s 2m03s
|
Deleted:
flamegraph_raw.svg
505 KB
|
|
Deleted:
flamegraph_qcow2.svg
4.7 MB
|
Comment 1 by dgreid@chromium.org
, Jul 18