[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-commits] [qemu/qemu] 00a3f9: migration/calc-dirty-rate: replaced C
From: |
Richard Henderson |
Subject: |
[Qemu-commits] [qemu/qemu] 00a3f9: migration/calc-dirty-rate: replaced CRC32 with xxHash |
Date: |
Mon, 15 May 2023 13:26:59 -0700 |
Branch: refs/heads/master
Home: https://github.com/qemu/qemu
Commit: 00a3f9c60ab0e5c8fd7bfbc300323f012cdd2fa6
https://github.com/qemu/qemu/commit/00a3f9c60ab0e5c8fd7bfbc300323f012cdd2fa6
Author: Andrei Gudkov <gudkov.andrei@huawei.com>
Date: 2023-05-15 (Mon, 15 May 2023)
Changed paths:
M migration/dirtyrate.c
M migration/trace-events
Log Message:
-----------
migration/calc-dirty-rate: replaced CRC32 with xxHash
This significantly reduces overhead of dirty page
rate calculation in sampling mode.
Tested using 32GiB VM on E5-2690 CPU.
With CRC32:
total_pages=8388608 sampled_pages=16384 millis=71
With xxHash:
total_pages=8388608 sampled_pages=16384 millis=14
Signed-off-by: Andrei Gudkov <gudkov.andrei@huawei.com>
Message-Id:
<cd115a89fc81d5f2eeb4ea7d57a98b84f794f340.1682598010.git.gudkov.andrei@huawei.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Commit: 62c5e181eef9482c081bed2cdcc61c1091a7739c
https://github.com/qemu/qemu/commit/62c5e181eef9482c081bed2cdcc61c1091a7739c
Author: Juan Quintela <quintela@redhat.com>
Date: 2023-05-15 (Mon, 15 May 2023)
Changed paths:
M include/exec/target_page.h
M softmmu/physmem.c
Log Message:
-----------
softmmu: Create qemu_target_pages_to_MiB()
Function that convert a number of target_pages into its size in MiB.
Suggested-by: Richard Henderson <richard.henderson@linaro.org>
Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Message-Id: <20230511141208.17779-2-quintela@redhat.com>
Commit: beeda9b7cde6d62cda4700dc4c28e1142690cae2
https://github.com/qemu/qemu/commit/beeda9b7cde6d62cda4700dc4c28e1142690cae2
Author: Juan Quintela <quintela@redhat.com>
Date: 2023-05-15 (Mon, 15 May 2023)
Changed paths:
M migration/dirtyrate.c
M softmmu/dirtylimit.c
Log Message:
-----------
Use new created qemu_target_pages_to_MiB()
Signed-off-by: Juan Quintela <quintela@redhat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20230511141208.17779-3-quintela@redhat.com>
Commit: edd83a70dc448f9b7d0f636ff822d1284f8f95d1
https://github.com/qemu/qemu/commit/edd83a70dc448f9b7d0f636ff822d1284f8f95d1
Author: Juan Quintela <quintela@redhat.com>
Date: 2023-05-15 (Mon, 15 May 2023)
Changed paths:
M migration/dirtyrate.c
Log Message:
-----------
migration: Teach dirtyrate about qemu_target_page_size()
Signed-off-by: Juan Quintela <quintela@redhat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-Id: <20230511141208.17779-4-quintela@redhat.com>
Commit: 148b1ad83ca5ea0b0456942d5f40d943a68b6102
https://github.com/qemu/qemu/commit/148b1ad83ca5ea0b0456942d5f40d943a68b6102
Author: Juan Quintela <quintela@redhat.com>
Date: 2023-05-15 (Mon, 15 May 2023)
Changed paths:
M migration/dirtyrate.c
Log Message:
-----------
migration: Teach dirtyrate about qemu_target_page_bits()
Signed-off-by: Juan Quintela <quintela@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20230511141208.17779-5-quintela@redhat.com>
Commit: dc2836c3806f004f36d423cedba86103c87a21a3
https://github.com/qemu/qemu/commit/dc2836c3806f004f36d423cedba86103c87a21a3
Author: Juan Quintela <quintela@redhat.com>
Date: 2023-05-15 (Mon, 15 May 2023)
Changed paths:
M migration/dirtyrate.c
M migration/meson.build
Log Message:
-----------
migration: Make dirtyrate.c target independent
After the previous two patches, there is nothing else that is target
specific.
Signed-off-by: Juan Quintela <quintela@redhat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-Id: <20230511141208.17779-6-quintela@redhat.com>
Commit: 52d01d4a5d6963e24ff59af0c39b47fd5d229fb7
https://github.com/qemu/qemu/commit/52d01d4a5d6963e24ff59af0c39b47fd5d229fb7
Author: Juan Quintela <quintela@redhat.com>
Date: 2023-05-15 (Mon, 15 May 2023)
Changed paths:
M migration/migration.c
Log Message:
-----------
migration: A rate limit value of 0 is valid
And it is the best way to not have rate_limit.
Signed-off-by: Juan Quintela <quintela@redhat.com>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
Message-Id: <20230508130909.65420-2-quintela@redhat.com>
Commit: 9d3ebbe21749937f9c9270d0841016e57de3fb92
https://github.com/qemu/qemu/commit/9d3ebbe21749937f9c9270d0841016e57de3fb92
Author: Juan Quintela <quintela@redhat.com>
Date: 2023-05-15 (Mon, 15 May 2023)
Changed paths:
M migration/migration.c
M migration/options.c
M migration/qemu-file.c
Log Message:
-----------
migration: We set the rate_limit by a second
That the implementation does the check every 100 milliseconds is an
implementation detail that shouldn't be seen on the interfaz.
Notice that all callers of qemu_file_set_rate_limit() used the
division or pass 0, so this change is a NOP.
Signed-off-by: Juan Quintela <quintela@redhat.com>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
Message-Id: <20230508130909.65420-4-quintela@redhat.com>
Commit: bffc0441d52e1b88c7fca857cc8e2d5c24c15c5e
https://github.com/qemu/qemu/commit/bffc0441d52e1b88c7fca857cc8e2d5c24c15c5e
Author: Juan Quintela <quintela@redhat.com>
Date: 2023-05-15 (Mon, 15 May 2023)
Changed paths:
M migration/qemu-file.c
M migration/qemu-file.h
Log Message:
-----------
qemu-file: make qemu_file_[sg]et_rate_limit() use an uint64_t
It is really size_t. Everything else uses uint64_t, so move this to
uint64_t as well. A size can't be negative anyways.
Signed-off-by: Juan Quintela <quintela@redhat.com>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
Message-Id: <20230508130909.65420-5-quintela@redhat.com>
Commit: f87e4d6d43d7020783d18d8657b4f9c21f9e3427
https://github.com/qemu/qemu/commit/f87e4d6d43d7020783d18d8657b4f9c21f9e3427
Author: Juan Quintela <quintela@redhat.com>
Date: 2023-05-15 (Mon, 15 May 2023)
Changed paths:
M migration/qemu-file.c
M migration/qemu-file.h
Log Message:
-----------
qemu-file: Make rate_limit_used an uint64_t
Change all the functions that use it. It was already passed as
uint64_t.
Signed-off-by: Juan Quintela <quintela@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
Message-Id: <20230508130909.65420-6-quintela@redhat.com>
Commit: 6da835d42a2163b43578ae745bc613b06dd5d23c
https://github.com/qemu/qemu/commit/6da835d42a2163b43578ae745bc613b06dd5d23c
Author: Juan Quintela <quintela@redhat.com>
Date: 2023-05-15 (Mon, 15 May 2023)
Changed paths:
M migration/block.c
M migration/migration.c
M migration/qemu-file.c
M migration/qemu-file.h
M migration/savevm.c
M migration/vmstate.c
Log Message:
-----------
qemu-file: Remove total from qemu_file_total_transferred_*()
Function is already quite long.
Signed-off-by: Juan Quintela <quintela@redhat.com>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
Message-Id: <20230508130909.65420-7-quintela@redhat.com>
Commit: c095228e8a8cdf5c15bb8a47c4d069582ae017d1
https://github.com/qemu/qemu/commit/c095228e8a8cdf5c15bb8a47c4d069582ae017d1
Author: Richard Henderson <richard.henderson@linaro.org>
Date: 2023-05-15 (Mon, 15 May 2023)
Changed paths:
M include/exec/target_page.h
M migration/block.c
M migration/dirtyrate.c
M migration/meson.build
M migration/migration.c
M migration/options.c
M migration/qemu-file.c
M migration/qemu-file.h
M migration/savevm.c
M migration/trace-events
M migration/vmstate.c
M softmmu/dirtylimit.c
M softmmu/physmem.c
Log Message:
-----------
Merge tag 'migration-20230515-pull-request' of
https://gitlab.com/juan.quintela/qemu into staging
Migration Pull request 20230515
Hi
On this PULL:
- use xxHash for calculate dirty_rate (andrei)
- Create qemu_target_pages_to_MiB() and use them (quintela)
- make dirtyrate target independent (quintela)
- Merge 5 patches from atomic counters series (quintela)
Please apply.
# -----BEGIN PGP SIGNATURE-----
#
# iQIzBAABCAAdFiEEGJn/jt6/WMzuA0uC9IfvGFhy1yMFAmRiJoUACgkQ9IfvGFhy
# 1yO1ExAAsSStVAUh/tSgu5fhXydJVkBMO6LOj1k+tA7qylwv4QsqZ/pLNBvY8Zms
# 8/bpYtlvw1LwCSaq01oNA6RhBhkBaZ5x0PUViCY87dsJhu0hEo68Jcp0FkrkW93E
# OiIsp9NU7wpnqd88ZhzjcZ/viWebPw3660V5KY4/8ZZFVxJaKMhG+vW3pGYH8yDR
# TmZK5E5e3t5yiwDRRPrkAw3+e+GDwfwNuOBkk+NBJdL1mOZnIfVwFwxRAXWn/vEM
# f6NdT3aXplsNeKPCN1w9zrLhOJdHeu8IlhWhT/cjTgOKemBJBYzftH6dI/X9D0ix
# ghWAzFSJh1S38gw0mMef1VERJqh7JpAkTq7vT2x7J/0UIbIAru0yRiSrHbNBCcvL
# efsVFtjyseKq70qKN515uoqbK6mlnxP+eECIAUmesUx0bJI9jDWzn+KVc86xUvWy
# +98KDcPuYVxdVp4XHAIsyHYOfTY/tJwG5KI4hYgGP7uxFVr/qus3eBB/Q5BBVPOx
# X0A/760iehfV0V0UmVEt8mC7uDjI0JBouenUHcURAtbsnuGRMCz6s1kLsZYaHuGV
# NhihXq6jnwcvn2nGGnXY44TsgBWesfUrCFZOjJzbaSjGH5UpipC0SECKqh1GKoQP
# kdknvyej5h8egU2QFdS8sCUeXIfwAtHfCamtnui3b3E3iF3TSco=
# =8gfA
# -----END PGP SIGNATURE-----
# gpg: Signature made Mon 15 May 2023 05:33:09 AM PDT
# gpg: using RSA key 1899FF8EDEBF58CCEE034B82F487EF185872D723
# gpg: Good signature from "Juan Quintela <quintela@redhat.com>" [undefined]
# gpg: aka "Juan Quintela <quintela@trasno.org>" [undefined]
# gpg: WARNING: This key is not certified with a trusted signature!
# gpg: There is no indication that the signature belongs to the owner.
# Primary key fingerprint: 1899 FF8E DEBF 58CC EE03 4B82 F487 EF18 5872 D723
* tag 'migration-20230515-pull-request' of
https://gitlab.com/juan.quintela/qemu:
qemu-file: Remove total from qemu_file_total_transferred_*()
qemu-file: Make rate_limit_used an uint64_t
qemu-file: make qemu_file_[sg]et_rate_limit() use an uint64_t
migration: We set the rate_limit by a second
migration: A rate limit value of 0 is valid
migration: Make dirtyrate.c target independent
migration: Teach dirtyrate about qemu_target_page_bits()
migration: Teach dirtyrate about qemu_target_page_size()
Use new created qemu_target_pages_to_MiB()
softmmu: Create qemu_target_pages_to_MiB()
migration/calc-dirty-rate: replaced CRC32 with xxHash
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Compare: https://github.com/qemu/qemu/compare/18b6727083ac...c095228e8a8c