id = 1821 title = "snapshot-save very slow in 8.1-rc2" state = "closed" created_at = "2023-08-09T09:28:04.143Z" closed_at = "2024-01-18T15:56:09.294Z" labels = [] url = "https://gitlab.com/qemu-project/qemu/-/issues/1821" host-os = "Proxmox VE 8.0" host-arch = "x86" qemu-version = "QEMU emulator version 8.0.92 (v8.1.0-rc2-102-ga8fc5165aa)" guest-os = "n/a" guest-arch = "n/a" description = """Before commit 813cd61669 ("migration: Use migration_transferred_bytes() to calculate rate_limit") the above script will take about 1.5 seconds to execute, after the commit, 1 minute 30 seconds. More RAM makes it take longer still.""" reproduce = """1. Execute the script given as the command line above.""" additional = """Creating the issue here, so it doesn't get lost and is documented. The following series by @juan.quintela would've avoided the regression, but seems like it never landed: https://lists.nongnu.org/archive/html/qemu-devel/2023-05/msg07971.html Logs: Before commit 813cd61669 ``` root@pve8a1 /home/febner/repos/qemu/build # time ~/save-snap.sh Formatting '/tmp/test.qcow2', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=1073741824 lazy_refcounts=off refcount_bits=16 {"QMP": {"version": {"qemu": {"micro": 50, "minor": 0, "major": 8}, "package": "v8.0.0-967-g3db9c05a90-dirty"}, "capabilities": ["oob"]}} VNC server running on ::1:5900 {"return": {}} {"timestamp": {"seconds": 1691572701, "microseconds": 708660}, "event": "JOB_STATUS_CHANGE", "data": {"status": "created", "id": "save0"}} {"timestamp": {"seconds": 1691572701, "microseconds": 708731}, "event": "JOB_STATUS_CHANGE", "data": {"status": "running", "id": "save0"}} {"return": {}} {"timestamp": {"seconds": 1691572701, "microseconds": 709239}, "event": "STOP"} {"timestamp": {"seconds": 1691572702, "microseconds": 939059}, "event": "RESUME"} {"timestamp": {"seconds": 1691572702, "microseconds": 939565}, "event": "JOB_STATUS_CHANGE", "data": {"status": "waiting", "id": "save0"}} {"timestamp": {"seconds": 1691572702, "microseconds": 939605}, "event": "JOB_STATUS_CHANGE", "data": {"status": "pending", "id": "save0"}} {"timestamp": {"seconds": 1691572702, "microseconds": 939638}, "event": "JOB_STATUS_CHANGE", "data": {"status": "concluded", "id": "save0"}} {"return": {}} {"timestamp": {"seconds": 1691572702, "microseconds": 939730}, "event": "SHUTDOWN", "data": {"guest": false, "reason": "host-qmp-quit"}} {"timestamp": {"seconds": 1691572702, "microseconds": 941746}, "event": "JOB_STATUS_CHANGE", "data": {"status": "null", "id": "save0"}} ~/save-snap.sh 1.18s user 0.09s system 85% cpu 1.476 total ``` After commit 813cd61669 ``` root@pve8a1 /home/febner/repos/qemu/build # time ~/save-snap.sh Formatting '/tmp/test.qcow2', fmt=qcow2 cluster_size=65536 extended_l2=off compression_type=zlib size=1073741824 lazy_refcounts=off refcount_bits=16 {"QMP": {"version": {"qemu": {"micro": 92, "minor": 0, "major": 8}, "package": "v8.1.0-rc2-102-ga8fc5165aa"}, "capabilities": ["oob"]}} VNC server running on ::1:5900 {"return": {}} {"timestamp": {"seconds": 1691572864, "microseconds": 944026}, "event": "JOB_STATUS_CHANGE", "data": {"status": "created", "id": "save0"}} {"timestamp": {"seconds": 1691572864, "microseconds": 944115}, "event": "JOB_STATUS_CHANGE", "data": {"status": "running", "id": "save0"}} {"return": {}} {"timestamp": {"seconds": 1691572864, "microseconds": 944631}, "event": "STOP"} {"timestamp": {"seconds": 1691572954, "microseconds": 697523}, "event": "RESUME"} {"timestamp": {"seconds": 1691572954, "microseconds": 697962}, "event": "JOB_STATUS_CHANGE", "data": {"status": "waiting", "id": "save0"}} {"timestamp": {"seconds": 1691572954, "microseconds": 697996}, "event": "JOB_STATUS_CHANGE", "data": {"status": "pending", "id": "save0"}} {"timestamp": {"seconds": 1691572954, "microseconds": 698020}, "event": "JOB_STATUS_CHANGE", "data": {"status": "concluded", "id": "save0"}} {"return": {}} {"timestamp": {"seconds": 1691572954, "microseconds": 698089}, "event": "SHUTDOWN", "data": {"guest": false, "reason": "host-qmp-quit"}} {"timestamp": {"seconds": 1691572954, "microseconds": 701263}, "event": "JOB_STATUS_CHANGE", "data": {"status": "null", "id": "save0"}} ~/save-snap.sh 31.81s user 41.69s system 81% cpu 1:30.03 total ```"""