New issue
Advanced search Search tips

Issue 864877 link

Starred by 5 users

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 1
Type: Bug

Blocking:
issue 876482



Sign in to add a comment

crosvm: rapid qcow2 growth incurs wrath of fsync

Project Member Reported by smbar...@chromium.org, Jul 18

Issue description

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


 
flamegraph_raw.svg
505 KB Download
flamegraph_qcow2.svg
4.7 MB Download
Pre allocating is the easiest thing to do and probably safest if we want to land in 69.

Reserving a pool of clusters to assign when needed would be better, but I'm not comfortable changing that this late.
Labels: M-70
Status: Assigned (was: Untriaged)
Blocking: 876482

Sign in to add a comment