[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 10:23:29 -0700 |
Branch: refs/heads/staging
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: 38be84b0867cf274100239164b05e4febfa1d5ab
https://github.com/qemu/qemu/commit/38be84b0867cf274100239164b05e4febfa1d5ab
Author: Thomas Huth <thuth@redhat.com>
Date: 2023-05-15 (Mon, 15 May 2023)
Changed paths:
M tests/avocado/virtio-gpu.py
Log Message:
-----------
tests/avocado/virtio-gpu: Fix the URLs of the test_virtio_vga_virgl test
The URLs here are not valid anymore - looks like the assets got moved
into the pub/archive/ subfolder instead.
Message-Id: <20230502105721.1661930-1-thuth@redhat.com>
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
Commit: dd50d2b3b568961519d989a3dc55009675613da8
https://github.com/qemu/qemu/commit/dd50d2b3b568961519d989a3dc55009675613da8
Author: Philippe Mathieu-Daudé <philmd@linaro.org>
Date: 2023-05-15 (Mon, 15 May 2023)
Changed paths:
M include/sysemu/kvm.h
Log Message:
-----------
sysemu/kvm: Remove unused headers
All types used are forward-declared in "qemu/typedefs.h".
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-Id: <20230405160454.97436-2-philmd@linaro.org>
Signed-off-by: Thomas Huth <thuth@redhat.com>
Commit: 7b3ba2123373720a4d09ec48853296c77d66e321
https://github.com/qemu/qemu/commit/7b3ba2123373720a4d09ec48853296c77d66e321
Author: Laurent Vivier <lvivier@redhat.com>
Date: 2023-05-15 (Mon, 15 May 2023)
Changed paths:
M tests/qtest/netdev-socket.c
Log Message:
-----------
net: stream: test reconnect option with an unix socket
We can have failure with the inet type test because the port address
is not allocated atomically and can be taken by another test between its
selection and the start of QEMU. To avoid that, use an unix socket with
a path that is unique
Signed-off-by: Laurent Vivier <lvivier@redhat.com>
Message-Id: <20230503094109.1198248-1-lvivier@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
Commit: 3a80b57bef6b7588e5b9a32b511713d79e697da1
https://github.com/qemu/qemu/commit/3a80b57bef6b7588e5b9a32b511713d79e697da1
Author: Daniel P. Berrangé <berrange@redhat.com>
Date: 2023-05-15 (Mon, 15 May 2023)
Changed paths:
M tests/qtest/ahci-test.c
M tests/qtest/boot-order-test.c
M tests/qtest/fdc-test.c
M tests/qtest/ide-test.c
M tests/qtest/migration-test.c
M tests/qtest/test-filter-mirror.c
M tests/qtest/test-filter-redirector.c
M tests/qtest/virtio-blk-test.c
Log Message:
-----------
tests/qtest: replace qmp_discard_response with qtest_qmp_assert_success
The qmp_discard_response method simply ignores the result of the QMP
command, merely unref'ing the object. This is a bad idea for tests
as it leaves no trace if the QMP command unexpectedly failed. The
qtest_qmp_assert_success method will validate that the QMP command
returned without error, and if errors occur, it will print a message
on the console aiding debugging.
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
Message-Id: <20230421171411.566300-2-berrange@redhat.com>
Reviewed-by: Juan Quintela <quintela@redhat.com>
Reviewed-by: Zhang Chen <chen.zhang@intel.com>
Signed-off-by: Thomas Huth <thuth@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: 72ca800ec5eca1a36a741ce3e878cf675672dc9c
https://github.com/qemu/qemu/commit/72ca800ec5eca1a36a741ce3e878cf675672dc9c
Author: Sam Li <faithilikerun@gmail.com>
Date: 2023-05-15 (Mon, 15 May 2023)
Changed paths:
M include/block/block-common.h
Log Message:
-----------
block/block-common: add zoned device structs
Signed-off-by: Sam Li <faithilikerun@gmail.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Damien Le Moal <damien.lemoal@opensource.wdc.com>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Reviewed-by: Dmitry Fomichev <dmitry.fomichev@wdc.com>
Acked-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-id: 20230508045533.175575-2-faithilikerun@gmail.com
Message-id: 20230324090605.28361-2-faithilikerun@gmail.com
[Adjust commit message prefix as suggested by Philippe Mathieu-Daudé
<philmd@linaro.org>.
--Stefan]
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Commit: a735b56e49be6f227f3f33be837a74c069441a48
https://github.com/qemu/qemu/commit/a735b56e49be6f227f3f33be837a74c069441a48
Author: Sam Li <faithilikerun@gmail.com>
Date: 2023-05-15 (Mon, 15 May 2023)
Changed paths:
M block/file-posix.c
M include/block/block_int-common.h
Log Message:
-----------
block/file-posix: introduce helper functions for sysfs attributes
Use get_sysfs_str_val() to get the string value of device
zoned model. Then get_sysfs_zoned_model() can convert it to
BlockZoneModel type of QEMU.
Use get_sysfs_long_val() to get the long value of zoned device
information.
Signed-off-by: Sam Li <faithilikerun@gmail.com>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Damien Le Moal <damien.lemoal@opensource.wdc.com>
Reviewed-by: Dmitry Fomichev <dmitry.fomichev@wdc.com>
Acked-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-id: 20230508045533.175575-3-faithilikerun@gmail.com
Message-id: 20230324090605.28361-3-faithilikerun@gmail.com
[Adjust commit message prefix as suggested by Philippe Mathieu-Daudé
<philmd@linaro.org>.
--Stefan]
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Commit: 6d43eaa39647507563017590b090b2e2b10aed2d
https://github.com/qemu/qemu/commit/6d43eaa39647507563017590b090b2e2b10aed2d
Author: Sam Li <faithilikerun@gmail.com>
Date: 2023-05-15 (Mon, 15 May 2023)
Changed paths:
M block/block-backend.c
M block/file-posix.c
M block/io.c
M include/block/block-io.h
M include/block/block_int-common.h
M include/block/raw-aio.h
M include/sysemu/block-backend-io.h
M meson.build
M qemu-io-cmds.c
Log Message:
-----------
block/block-backend: add block layer APIs resembling Linux ZonedBlockDevice
ioctls
Add zoned device option to host_device BlockDriver. It will be presented only
for zoned host block devices. By adding zone management operations to the
host_block_device BlockDriver, users can use the new block layer APIs
including Report Zone and four zone management operations
(open, close, finish, reset, reset_all).
Qemu-io uses the new APIs to perform zoned storage commands of the device:
zone_report(zrp), zone_open(zo), zone_close(zc), zone_reset(zrs),
zone_finish(zf).
For example, to test zone_report, use following command:
$ ./build/qemu-io --image-opts -n driver=host_device, filename=/dev/nullb0
-c "zrp offset nr_zones"
Signed-off-by: Sam Li <faithilikerun@gmail.com>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Dmitry Fomichev <dmitry.fomichev@wdc.com>
Acked-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-id: 20230508045533.175575-4-faithilikerun@gmail.com
Message-id: 20230324090605.28361-4-faithilikerun@gmail.com
[Adjust commit message prefix as suggested by Philippe Mathieu-Daudé
<philmd@linaro.org> and remove spurious ret = -errno in
raw_co_zone_mgmt().
--Stefan]
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Commit: 50c4bcd496d536e6b2693fb6258a9f447c5e33ae
https://github.com/qemu/qemu/commit/50c4bcd496d536e6b2693fb6258a9f447c5e33ae
Author: Sam Li <faithilikerun@gmail.com>
Date: 2023-05-15 (Mon, 15 May 2023)
Changed paths:
M block/raw-format.c
Log Message:
-----------
block/raw-format: add zone operations to pass through requests
raw-format driver usually sits on top of file-posix driver. It needs to
pass through requests of zone commands.
Signed-off-by: Sam Li <faithilikerun@gmail.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Damien Le Moal <damien.lemoal@opensource.wdc.com>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Reviewed-by: Dmitry Fomichev <dmitry.fomichev@wdc.com>
Acked-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-id: 20230508045533.175575-5-faithilikerun@gmail.com
Message-id: 20230324090605.28361-5-faithilikerun@gmail.com
[Adjust commit message prefix as suggested by Philippe Mathieu-Daudé
<philmd@linaro.org>.
--Stefan]
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Commit: 774c726ceb2a3aa039dc20f0b51c9d36a2c6760d
https://github.com/qemu/qemu/commit/774c726ceb2a3aa039dc20f0b51c9d36a2c6760d
Author: Sam Li <faithilikerun@gmail.com>
Date: 2023-05-15 (Mon, 15 May 2023)
Changed paths:
M block.c
M block/file-posix.c
M block/raw-format.c
M include/block/block_int-common.h
Log Message:
-----------
block: add zoned BlockDriver check to block layer
Putting zoned/non-zoned BlockDrivers on top of each other is not
allowed.
Signed-off-by: Sam Li <faithilikerun@gmail.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Reviewed-by: Dmitry Fomichev <dmitry.fomichev@wdc.com>
Acked-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-id: 20230508045533.175575-6-faithilikerun@gmail.com
Message-id: 20230324090605.28361-6-faithilikerun@gmail.com
[Adjust commit message prefix as suggested by Philippe Mathieu-Daudé
<philmd@linaro.org> and clarify that the check is about zoned
BlockDrivers.
--Stefan]
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Commit: 8a6aa0bbe5770b8957f7dd7b1598b98ad5566674
https://github.com/qemu/qemu/commit/8a6aa0bbe5770b8957f7dd7b1598b98ad5566674
Author: Sam Li <faithilikerun@gmail.com>
Date: 2023-05-15 (Mon, 15 May 2023)
Changed paths:
A tests/qemu-iotests/tests/zoned
A tests/qemu-iotests/tests/zoned.out
Log Message:
-----------
iotests: test new zone operations
The new block layer APIs of zoned block devices can be tested by:
$ tests/qemu-iotests/check zoned
Run each zone operation on a newly created null_blk device
and see whether it outputs the same zone information.
Signed-off-by: Sam Li <faithilikerun@gmail.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Acked-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-id: 20230508045533.175575-7-faithilikerun@gmail.com
Message-id: 20230324090605.28361-7-faithilikerun@gmail.com
[Adjust commit message prefix as suggested by Philippe Mathieu-Daudé
<philmd@linaro.org>.
--Stefan]
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Commit: 142e307e79908ec58588b38d46ba63928f80ec36
https://github.com/qemu/qemu/commit/142e307e79908ec58588b38d46ba63928f80ec36
Author: Sam Li <faithilikerun@gmail.com>
Date: 2023-05-15 (Mon, 15 May 2023)
Changed paths:
M block/file-posix.c
M block/trace-events
Log Message:
-----------
block: add some trace events for new block layer APIs
Signed-off-by: Sam Li <faithilikerun@gmail.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Dmitry Fomichev <dmitry.fomichev@wdc.com>
Acked-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-id: 20230508045533.175575-8-faithilikerun@gmail.com
Message-id: 20230324090605.28361-8-faithilikerun@gmail.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Commit: 90fd9746689e865525ddb18cfec925f56159c740
https://github.com/qemu/qemu/commit/90fd9746689e865525ddb18cfec925f56159c740
Author: Sam Li <faithilikerun@gmail.com>
Date: 2023-05-15 (Mon, 15 May 2023)
Changed paths:
M docs/devel/index-api.rst
A docs/devel/zoned-storage.rst
M docs/system/qemu-block-drivers.rst.inc
Log Message:
-----------
docs/zoned-storage: add zoned device documentation
Add the documentation about the zoned device support to virtio-blk
emulation.
Signed-off-by: Sam Li <faithilikerun@gmail.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Damien Le Moal <damien.lemoal@opensource.wdc.com>
Reviewed-by: Dmitry Fomichev <dmitry.fomichev@wdc.com>
Acked-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-id: 20230508045533.175575-9-faithilikerun@gmail.com
Message-id: 20230324090605.28361-9-faithilikerun@gmail.com
[Add index-api.rst to fix "zoned-storage.rst:document isn't included in
any toctree" error and fix pre-formatted code syntax.
--Stefan]
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Commit: a3c41f06d5a84bc2263e871b1e9fa4daba7edf0f
https://github.com/qemu/qemu/commit/a3c41f06d5a84bc2263e871b1e9fa4daba7edf0f
Author: Sam Li <faithilikerun@gmail.com>
Date: 2023-05-15 (Mon, 15 May 2023)
Changed paths:
M block/file-posix.c
M include/block/block-common.h
M include/block/block_int-common.h
Log Message:
-----------
file-posix: add tracking of the zone write pointers
Since Linux doesn't have a user API to issue zone append operations to
zoned devices from user space, the file-posix driver is modified to add
zone append emulation using regular writes. To do this, the file-posix
driver tracks the wp location of all zones of the device. It uses an
array of uint64_t. The most significant bit of each wp location indicates
if the zone type is conventional zones.
The zones wp can be changed due to the following operations issued:
- zone reset: change the wp to the start offset of that zone
- zone finish: change to the end location of that zone
- write to a zone
- zone append
Signed-off-by: Sam Li <faithilikerun@gmail.com>
Message-id: 20230508051510.177850-2-faithilikerun@gmail.com
[Fix errno propagation from handle_aiocb_zone_mgmt()
--Stefan]
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Commit: 4751d09adcc3dd76b4124f5c408055ee0940b3ee
https://github.com/qemu/qemu/commit/4751d09adcc3dd76b4124f5c408055ee0940b3ee
Author: Sam Li <faithilikerun@gmail.com>
Date: 2023-05-15 (Mon, 15 May 2023)
Changed paths:
M block/block-backend.c
M block/file-posix.c
M block/io.c
M block/io_uring.c
M block/linux-aio.c
M block/raw-format.c
M include/block/block-io.h
M include/block/block_int-common.h
M include/block/raw-aio.h
M include/sysemu/block-backend-io.h
Log Message:
-----------
block: introduce zone append write for zoned devices
A zone append command is a write operation that specifies the first
logical block of a zone as the write position. When writing to a zoned
block device using zone append, the byte offset of the call may point at
any position within the zone to which the data is being appended. Upon
completion the device will respond with the position where the data has
been written in the zone.
Signed-off-by: Sam Li <faithilikerun@gmail.com>
Reviewed-by: Dmitry Fomichev <dmitry.fomichev@wdc.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-id: 20230508051510.177850-3-faithilikerun@gmail.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Commit: fe4fe70d27db31e4aa139387cdf66c23cace7fd3
https://github.com/qemu/qemu/commit/fe4fe70d27db31e4aa139387cdf66c23cace7fd3
Author: Sam Li <faithilikerun@gmail.com>
Date: 2023-05-15 (Mon, 15 May 2023)
Changed paths:
M qemu-io-cmds.c
M tests/qemu-iotests/tests/zoned
M tests/qemu-iotests/tests/zoned.out
Log Message:
-----------
qemu-iotests: test zone append operation
The patch tests zone append writes by reporting the zone wp after
the completion of the call. "zap -p" option can print the sector
offset value after completion, which should be the start sector
where the append write begins.
Signed-off-by: Sam Li <faithilikerun@gmail.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-id: 20230508051510.177850-4-faithilikerun@gmail.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Commit: 6c811e19bb61213cf62018dc137036603af71ad0
https://github.com/qemu/qemu/commit/6c811e19bb61213cf62018dc137036603af71ad0
Author: Sam Li <faithilikerun@gmail.com>
Date: 2023-05-15 (Mon, 15 May 2023)
Changed paths:
M block/file-posix.c
M block/trace-events
Log Message:
-----------
block: add some trace events for zone append
Signed-off-by: Sam Li <faithilikerun@gmail.com>
Reviewed-by: Dmitry Fomichev <dmitry.fomichev@wdc.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-id: 20230508051510.177850-5-faithilikerun@gmail.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Commit: 4f7366506a96c862c796d4ea1913110d9c341e7d
https://github.com/qemu/qemu/commit/4f7366506a96c862c796d4ea1913110d9c341e7d
Author: Sam Li <faithilikerun@gmail.com>
Date: 2023-05-15 (Mon, 15 May 2023)
Changed paths:
M hw/block/virtio-blk-common.c
M hw/block/virtio-blk.c
M hw/virtio/virtio-qmp.c
Log Message:
-----------
virtio-blk: add zoned storage emulation for zoned devices
This patch extends virtio-blk emulation to handle zoned device commands
by calling the new block layer APIs to perform zoned device I/O on
behalf of the guest. It supports Report Zone, four zone oparations (open,
close, finish, reset), and Append Zone.
The VIRTIO_BLK_F_ZONED feature bit will only be set if the host does
support zoned block devices. Regular block devices(conventional zones)
will not be set.
The guest os can use blktests, fio to test those commands on zoned devices.
Furthermore, using zonefs to test zone append write is also supported.
Signed-off-by: Sam Li <faithilikerun@gmail.com>
Message-id: 20230508051916.178322-2-faithilikerun@gmail.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Commit: 52eb76f4b1ac040208275665b03da1fbee99c539
https://github.com/qemu/qemu/commit/52eb76f4b1ac040208275665b03da1fbee99c539
Author: Sam Li <faithilikerun@gmail.com>
Date: 2023-05-15 (Mon, 15 May 2023)
Changed paths:
M block/qapi-sysemu.c
M block/qapi.c
M hw/block/virtio-blk.c
M include/block/accounting.h
M qapi/block-core.json
M qapi/block.json
M tests/qemu-iotests/227.out
Log Message:
-----------
block: add accounting for zone append operation
Taking account of the new zone append write operation for zoned devices,
BLOCK_ACCT_ZONE_APPEND enum is introduced as other I/O request type (read,
write, flush).
Signed-off-by: Sam Li <faithilikerun@gmail.com>
Message-id: 20230508051916.178322-3-faithilikerun@gmail.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Commit: 4e92acf74d7cc396a8b4673e38861512fd29b94c
https://github.com/qemu/qemu/commit/4e92acf74d7cc396a8b4673e38861512fd29b94c
Author: Sam Li <faithilikerun@gmail.com>
Date: 2023-05-15 (Mon, 15 May 2023)
Changed paths:
M hw/block/trace-events
M hw/block/virtio-blk.c
Log Message:
-----------
virtio-blk: add some trace events for zoned emulation
Signed-off-by: Sam Li <faithilikerun@gmail.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-id: 20230508051916.178322-4-faithilikerun@gmail.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Commit: 01562fee5f3ad4506d57dbcf4b1903b565eceec7
https://github.com/qemu/qemu/commit/01562fee5f3ad4506d57dbcf4b1903b565eceec7
Author: Sam Li <faithilikerun@gmail.com>
Date: 2023-05-15 (Mon, 15 May 2023)
Changed paths:
M docs/devel/zoned-storage.rst
Log Message:
-----------
docs/zoned-storage:add zoned emulation use case
Add the documentation about the example of using virtio-blk driver
to pass the zoned block devices through to the guest.
Signed-off-by: Sam Li <faithilikerun@gmail.com>
Message-id: 20230508051916.178322-5-faithilikerun@gmail.com
[Fix pre-formatted code syntax
--Stefan]
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Commit: e1a68d6fc37f564328564a3e81dd227d31100d35
https://github.com/qemu/qemu/commit/e1a68d6fc37f564328564a3e81dd227d31100d35
Author: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Date: 2023-05-15 (Mon, 15 May 2023)
Changed paths:
M hw/pci/pci_bridge.c
M include/hw/pci/pci_bridge.h
Log Message:
-----------
hw/pci-bridge: Fix release ordering by embedding PCIBridgeWindows within
PCIBridge
The lifetime of the PCIBridgeWindows instance accessed via the windows pointer
in struct PCIBridge is managed separately from the PCIBridge itself.
Triggered by ./qemu-system-x86_64 -M x-remote -display none -monitor stdio
QEMU monitor: device_add cxl-downstream
In some error handling paths (such as the above due to attaching a
cxl-downstream
port anything other than a cxl-upstream port) the g_free() of the PCIBridge
windows in pci_bridge_region_cleanup() is called before the final call of
flatview_uref() in address_space_set_flatview() ultimately from
drain_call_rcu()
At one stage this resulted in a crash, currently can still be observed using
valgrind which records a use after free.
When present, only one instance is allocated. pci_bridge_update_mappings()
can operate directly on an instance rather than creating a new one and
swapping it in. Thus there appears to be no reason to not directly
couple the lifetimes of the two structures by embedding the PCIBridgeWindows
within the PCIBridge removing the need for the problematic separate free.
Patch is same as was posted deep in the discussion.
https://lore.kernel.org/qemu-devel/20230403171232.000020bb@huawei.com/
Reported-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Message-Id: <20230421122550.28234-1-Jonathan.Cameron@huawei.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
Commit: 6066b81db33f574d986505cb74b51463eb88e4e1
https://github.com/qemu/qemu/commit/6066b81db33f574d986505cb74b51463eb88e4e1
Author: Mateusz Krawczuk <mat.krawczuk@gmail.com>
Date: 2023-05-15 (Mon, 15 May 2023)
Changed paths:
M scripts/symlink-install-tree.py
Log Message:
-----------
Add information how to fix common build error on Windows in
symlink-install-tree
By default, Windows doesn't allow to create soft links for user account
and only administrator is allowed to do this. To fix this problem you have
to raise your permissions or enable Developer Mode, which available since
Windows 10. Additional explanation when build fails will allow developer
to fix the problem on his computer faster.
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/1386
Signed-off-by: Mateusz Krawczuk <mat.krawczuk@gmail.com>
Message-Id: <20230504211101.1386-1-mat.krawczuk@gmail.com>
[thuth: Drop the hunk with the white space changes]
Signed-off-by: Thomas Huth <thuth@redhat.com>
Commit: 25a7cfd7c94a59315c8a32e722c79a99b57afd13
https://github.com/qemu/qemu/commit/25a7cfd7c94a59315c8a32e722c79a99b57afd13
Author: Ani Sinha <anisinha@redhat.com>
Date: 2023-05-15 (Mon, 15 May 2023)
Changed paths:
M tests/lcitool/libvirt-ci
Log Message:
-----------
tests: libvirt-ci: Update to commit 'c8971e90ac' to pull in mformat and
xorriso
Pull in the following changes from lcitool:
* tests/lcitool/libvirt-ci 85487e1...c8971e9 (18):
> mappings: add new package mappings for mformat and xorriso
> docs: testing: Update contents with tox
> .gitlab-ci.yml: Always test against installed lcitool
> gitlab-ci.yml: Start using tox for testing
> tox: Allow running with custom pytest options with {posargs}
> gitignore: Add the default .tox directory
> dev-requirements: Reference VM requirements
> requirements: Add tox to dev-requirements.txt and drop pytest and flake
> test-requirements: Rename to dev-requirements.txt
> Add tox.ini configuration file
> tests: commands: Consolidate the installed package/run from git tests
> Add a pytest.ini
> facts: targets: Drop Fedora 36 target
> gitlab-ci.yml: Add Fedora 38 target
> facts: targets: Add Fedora 38
> facts: mappings: Drop 'zstd' mapping
> facts: projects: nbdkit: Replace zstd mapping with libzstd
> docs: mappings: Add a section on the preferred mapping naming scheme
Signed-off-by: Ani Sinha <anisinha@redhat.com>
Message-Id: <20230504154611.85854-2-anisinha@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
Commit: 2b54ec3f370d8f0e340cb5997a41132568adfa49
https://github.com/qemu/qemu/commit/2b54ec3f370d8f0e340cb5997a41132568adfa49
Author: Ani Sinha <anisinha@redhat.com>
Date: 2023-05-15 (Mon, 15 May 2023)
Changed paths:
M .gitlab-ci.d/cirrus/freebsd-13.vars
M .gitlab-ci.d/cirrus/macos-12.vars
M tests/docker/dockerfiles/alpine.docker
M tests/docker/dockerfiles/centos8.docker
M tests/docker/dockerfiles/debian-amd64-cross.docker
M tests/docker/dockerfiles/debian-amd64.docker
M tests/docker/dockerfiles/debian-arm64-cross.docker
M tests/docker/dockerfiles/debian-armel-cross.docker
M tests/docker/dockerfiles/debian-armhf-cross.docker
M tests/docker/dockerfiles/debian-mips64el-cross.docker
M tests/docker/dockerfiles/debian-mipsel-cross.docker
M tests/docker/dockerfiles/debian-ppc64el-cross.docker
M tests/docker/dockerfiles/debian-s390x-cross.docker
M tests/docker/dockerfiles/fedora-win32-cross.docker
M tests/docker/dockerfiles/fedora-win64-cross.docker
M tests/docker/dockerfiles/fedora.docker
M tests/docker/dockerfiles/opensuse-leap.docker
M tests/docker/dockerfiles/ubuntu2004.docker
M tests/docker/dockerfiles/ubuntu2204.docker
M tests/lcitool/projects/qemu.yml
M tests/qtest/cdrom-test.c
Log Message:
-----------
tests/lcitool: Add mtools and xorriso and remove genisoimage as dependencies
Bios bits avocado tests need mformat (provided by the mtools package) and
xorriso tools in order to run within gitlab CI containers. Add those
dependencies within the Dockerfiles so that containers can be built with
those tools present and bios bits avocado tests can be run there.
xorriso package conflicts with genisoimage package on some distributions.
Therefore, it is not possible to have both the packages at the same time
in the container image uniformly for all distribution flavors. Further,
on some distributions like RHEL, both xorriso and genisoimage
packages provide /usr/bin/genisoimage and on some other distributions like
Fedora, only genisoimage package provides the same utility.
Therefore, this change removes the dependency on geninsoimage for building
container images altogether keeping only xorriso package. At the same time,
cdrom-test.c is updated to use and check for existence of only xorrisofs.
Signed-off-by: Ani Sinha <anisinha@redhat.com>
Message-Id: <20230504154611.85854-3-anisinha@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
Commit: 0f815bd8e5c97881a3a4378be75b2b36e1569710
https://github.com/qemu/qemu/commit/0f815bd8e5c97881a3a4378be75b2b36e1569710
Author: Claudio Imbrenda <imbrenda@linux.ibm.com>
Date: 2023-05-15 (Mon, 15 May 2023)
Changed paths:
M docs/about/deprecated.rst
M os-posix.c
M qemu-options.hx
M util/async-teardown.c
Log Message:
-----------
util/async-teardown: wire up query-command-line-options
Add new -run-with option with an async-teardown=on|off parameter. It is
visible in the output of query-command-line-options QMP command, so it
can be discovered and used by libvirt.
The option -async-teardown is now redundant, deprecate it.
Reported-by: Boris Fiuczynski <fiuczy@linux.ibm.com>
Fixes: c891c24b1a ("os-posix: asynchronous teardown for shutdown on Linux")
Signed-off-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
Message-Id: <20230505120051.36605-2-imbrenda@linux.ibm.com>
[thuth: Add curly braces to fix error with GCC 8.5, fix bug in deprecated.rst]
Signed-off-by: Thomas Huth <thuth@redhat.com>
Commit: 1d9664bcaa9b23f1f9390b03833d48042b441bdd
https://github.com/qemu/qemu/commit/1d9664bcaa9b23f1f9390b03833d48042b441bdd
Author: Claudio Imbrenda <imbrenda@linux.ibm.com>
Date: 2023-05-15 (Mon, 15 May 2023)
Changed paths:
M hw/s390x/pv.c
M hw/s390x/s390-virtio-ccw.c
M include/hw/s390x/pv.h
Log Message:
-----------
s390x/pv: Fix spurious warning with asynchronous teardown
Kernel commit 292a7d6fca33 ("KVM: s390: pv: fix asynchronous teardown
for small VMs") causes the KVM_PV_ASYNC_CLEANUP_PREPARE ioctl to fail
if the VM is not larger than 2GiB. QEMU would attempt it and fail,
print an error message, and then proceed with a normal teardown.
Avoid attempting to use asynchronous teardown altogether when the VM is
not larger than 2 GiB. This will avoid triggering the error message and
also avoid pointless overhead; normal teardown is fast enough for small
VMs.
Reported-by: Marc Hartmayer <mhartmay@linux.ibm.com>
Fixes: c3a073c610 ("s390x/pv: Add support for asynchronous teardown for reboot")
Link: https://lore.kernel.org/all/20230421085036.52511-2-imbrenda@linux.ibm.com/
Signed-off-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
Message-Id: <20230510105531.30623-2-imbrenda@linux.ibm.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
[thuth: Fix inline function parameter in pv.h]
Signed-off-by: Thomas Huth <thuth@redhat.com>
Commit: dce7851539ac31c53217776246244b4a8e189ab5
https://github.com/qemu/qemu/commit/dce7851539ac31c53217776246244b4a8e189ab5
Author: Ani Sinha <anisinha@redhat.com>
Date: 2023-05-15 (Mon, 15 May 2023)
Changed paths:
M docs/devel/testing.rst
Log Message:
-----------
docs/devel: remind developers to run CI container pipeline when updating
images
When new dependencies and packages are added to containers, its important to
run CI container generation pipelines on gitlab to make sure that there are no
obvious conflicts between packages that are being added and those that are
already present. Running CI container pipelines will make sure that there are
no such breakages before we commit the change updating the containers. Add a
line in the documentation reminding developers to run the pipeline before
submitting the change. It will also ease the life of the maintainers.
Signed-off-by: Ani Sinha <anisinha@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Message-Id: <20230506072012.10350-1-anisinha@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
Commit: 6a6afadbf2cd403d5143fb22c935102dfb91b5af
https://github.com/qemu/qemu/commit/6a6afadbf2cd403d5143fb22c935102dfb91b5af
Author: Lizhi Yang <sledgeh4w@gmail.com>
Date: 2023-05-15 (Mon, 15 May 2023)
Changed paths:
M docs/about/emulation.rst
Log Message:
-----------
docs/about/emulation: fix typo
Duplicated word "are".
Signed-off-by: Lizhi Yang <sledgeh4w@gmail.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-Id: <20230511080119.99018-1-sledgeh4w@gmail.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
Commit: 033a58dcf6da4e2efa1d159af67644093fc0547d
https://github.com/qemu/qemu/commit/033a58dcf6da4e2efa1d159af67644093fc0547d
Author: Thomas Huth <thuth@redhat.com>
Date: 2023-05-15 (Mon, 15 May 2023)
Changed paths:
M hw/core/machine-qmp-cmds.c
M include/hw/core/cpu.h
M include/qemu/typedefs.h
M target/s390x/cpu.c
Log Message:
-----------
hw/core: Use a callback for target specific query-cpus-fast information
For being able to create a universal QEMU binary one day, core
files like machine-qmp-cmds.c must not contain any "#ifdef TARGET_..."
parts. Thus let's provide the target specific function via a
function pointer in CPUClass instead, as a first step towards
making this file target independent.
Message-Id: <20230424160434.331175-2-thuth@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
Commit: e34c5e8dc1330ab6f0586e05e0756f964458002a
https://github.com/qemu/qemu/commit/e34c5e8dc1330ab6f0586e05e0756f964458002a
Author: Thomas Huth <thuth@redhat.com>
Date: 2023-05-15 (Mon, 15 May 2023)
Changed paths:
M cpu.c
M include/hw/core/cpu.h
Log Message:
-----------
cpu: Introduce a wrapper for being able to use TARGET_NAME in common code
In some spots, it would be helpful to be able to use TARGET_NAME
in common (target independent) code, too. Thus introduce a wrapper
that can be called from common code, too, just like we already
have one for target_words_bigendian().
Message-Id: <20230424160434.331175-3-thuth@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
Commit: 6b7d6e32128853e5914ecee8f790b03642a1da4a
https://github.com/qemu/qemu/commit/6b7d6e32128853e5914ecee8f790b03642a1da4a
Author: Thomas Huth <thuth@redhat.com>
Date: 2023-05-15 (Mon, 15 May 2023)
Changed paths:
M hw/core/machine-qmp-cmds.c
M hw/core/meson.build
Log Message:
-----------
hw/core: Move machine-qmp-cmds.c into the target independent source set
The only target specific code that is left in here are two spots that
use TARGET_NAME. Change them to use the new target_name() wrapper
function instead, so we can move the file into the common softmmu_ss
source set. That way we only have to compile this file once, and not
for each target anymore.
Message-Id: <20230424160434.331175-4-thuth@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
Commit: 7db641cb34603cf53e38c059d72875e28851f702
https://github.com/qemu/qemu/commit/7db641cb34603cf53e38c059d72875e28851f702
Author: Thomas Huth <thuth@redhat.com>
Date: 2023-05-15 (Mon, 15 May 2023)
Changed paths:
M hw/net/meson.build
M hw/net/xilinx_ethlite.c
Log Message:
-----------
hw/net: Move xilinx_ethlite.c to the target-independent source set
Now that the tswap() functions are available for target-independent
code, too, we can move xilinx_ethlite.c from specific_ss to softmmu_ss
to avoid that we have to compile this file multiple times.
Message-Id: <20230508120314.59274-1-thuth@redhat.com>
Reviewed-by: Francisco Iglesias <frasse.iglesias@gmail.com>
Reviewed-by: Alistair Francis <alistair.francis@wdc.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
Commit: 40ba68f54b6918abe154da5ce3e5d9da4392122f
https://github.com/qemu/qemu/commit/40ba68f54b6918abe154da5ce3e5d9da4392122f
Author: Ilya Leoshkevich <iii@linux.ibm.com>
Date: 2023-05-15 (Mon, 15 May 2023)
Changed paths:
M target/s390x/tcg/insn-data.h.inc
Log Message:
-----------
s390x/tcg: Fix LDER instruction format
It's RRE, not RXE.
Found by running valgrind's none/tests/s390x/bfp-2.
Fixes: 86b59624c4aa ("s390x/tcg: Implement LOAD LENGTHENED short HFP to long
HFP")
Reviewed-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Message-Id: <20230511134726.469651-1-iii@linux.ibm.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Thomas Huth <thuth@redhat.com>
Commit: deef81d69db5233cd98fe85b1888ca60e4a865c8
https://github.com/qemu/qemu/commit/deef81d69db5233cd98fe85b1888ca60e4a865c8
Author: Ilya Leoshkevich <iii@linux.ibm.com>
Date: 2023-05-15 (Mon, 15 May 2023)
Changed paths:
M tests/tcg/multiarch/system/memory.c
Log Message:
-----------
tests/tcg/multiarch: Make the system memory test work on big-endian
Store the bytes in descending order on big-endian.
Invert the logic in the multi-byte signed tests on big-endian.
Make the checks in the multi-byte signed tests stricter.
Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Message-Id: <20230511114651.439872-2-iii@linux.ibm.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
Commit: 49ce5caaa77c6240bcaf948bab70627943c9e42f
https://github.com/qemu/qemu/commit/49ce5caaa77c6240bcaf948bab70627943c9e42f
Author: Ilya Leoshkevich <iii@linux.ibm.com>
Date: 2023-05-15 (Mon, 15 May 2023)
Changed paths:
M tests/tcg/s390x/Makefile.softmmu-target
A tests/tcg/s390x/console.c
A tests/tcg/s390x/head64.S
Log Message:
-----------
tests/tcg/s390x: Enable the multiarch system tests
Multiarch tests are written in C and need support for printing
characters. Instead of implementing the runtime from scratch, just
reuse the pc-bios/s390-ccw one.
Run tests with -nographic in order to enable SCLP (enable this for
the existing tests as well, since it does not hurt).
Use the default linker script for the new tests.
Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20230511114651.439872-3-iii@linux.ibm.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
Commit: 2e33d61998fcab8e4ab88f89efe1ab23d71adadb
https://github.com/qemu/qemu/commit/2e33d61998fcab8e4ab88f89efe1ab23d71adadb
Author: Ilya Leoshkevich <iii@linux.ibm.com>
Date: 2023-05-15 (Mon, 15 May 2023)
Changed paths:
M target/s390x/tcg/translate.c
Log Message:
-----------
target/s390x: Fix EXECUTE of relative branches
Fix a problem similar to the one fixed by commit 703d03a4aaf3
("target/s390x: Fix EXECUTE of relative long instructions"), but now
for relative branches.
Reported-by: Nina Schoetterl-Glausch <nsg@linux.ibm.com>
Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20230426235813.198183-2-iii@linux.ibm.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
Commit: 055eb1d7de455ecb6b2f5f978b2d12529e09f795
https://github.com/qemu/qemu/commit/055eb1d7de455ecb6b2f5f978b2d12529e09f795
Author: Ilya Leoshkevich <iii@linux.ibm.com>
Date: 2023-05-15 (Mon, 15 May 2023)
Changed paths:
M tests/tcg/s390x/Makefile.target
A tests/tcg/s390x/ex-branch.c
Log Message:
-----------
tests/tcg/s390x: Test EXECUTE of relative branches
Add a small test to prevent regressions.
Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Acked-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20230426235813.198183-3-iii@linux.ibm.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
Commit: d1ec81a8d2f7c823cb861d683a968471f5f72b5f
https://github.com/qemu/qemu/commit/d1ec81a8d2f7c823cb861d683a968471f5f72b5f
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>
Commit: 1f9e883291ec204075beaec29c8ad3bf3fcf6b64
https://github.com/qemu/qemu/commit/1f9e883291ec204075beaec29c8ad3bf3fcf6b64
Author: Richard Henderson <richard.henderson@linaro.org>
Date: 2023-05-15 (Mon, 15 May 2023)
Changed paths:
M .gitlab-ci.d/cirrus/freebsd-13.vars
M .gitlab-ci.d/cirrus/macos-12.vars
M cpu.c
M docs/about/deprecated.rst
M docs/about/emulation.rst
M docs/devel/testing.rst
M hw/core/machine-qmp-cmds.c
M hw/core/meson.build
M hw/net/meson.build
M hw/net/xilinx_ethlite.c
M hw/pci/pci_bridge.c
M hw/s390x/pv.c
M hw/s390x/s390-virtio-ccw.c
M include/hw/core/cpu.h
M include/hw/pci/pci_bridge.h
M include/hw/s390x/pv.h
M include/qemu/typedefs.h
M include/sysemu/kvm.h
M os-posix.c
M qemu-options.hx
M scripts/symlink-install-tree.py
M target/s390x/cpu.c
M target/s390x/tcg/insn-data.h.inc
M target/s390x/tcg/translate.c
M tests/avocado/virtio-gpu.py
M tests/docker/dockerfiles/alpine.docker
M tests/docker/dockerfiles/centos8.docker
M tests/docker/dockerfiles/debian-amd64-cross.docker
M tests/docker/dockerfiles/debian-amd64.docker
M tests/docker/dockerfiles/debian-arm64-cross.docker
M tests/docker/dockerfiles/debian-armel-cross.docker
M tests/docker/dockerfiles/debian-armhf-cross.docker
M tests/docker/dockerfiles/debian-mips64el-cross.docker
M tests/docker/dockerfiles/debian-mipsel-cross.docker
M tests/docker/dockerfiles/debian-ppc64el-cross.docker
M tests/docker/dockerfiles/debian-s390x-cross.docker
M tests/docker/dockerfiles/fedora-win32-cross.docker
M tests/docker/dockerfiles/fedora-win64-cross.docker
M tests/docker/dockerfiles/fedora.docker
M tests/docker/dockerfiles/opensuse-leap.docker
M tests/docker/dockerfiles/ubuntu2004.docker
M tests/docker/dockerfiles/ubuntu2204.docker
M tests/lcitool/libvirt-ci
M tests/lcitool/projects/qemu.yml
M tests/qtest/ahci-test.c
M tests/qtest/boot-order-test.c
M tests/qtest/cdrom-test.c
M tests/qtest/fdc-test.c
M tests/qtest/ide-test.c
M tests/qtest/migration-test.c
M tests/qtest/netdev-socket.c
M tests/qtest/test-filter-mirror.c
M tests/qtest/test-filter-redirector.c
M tests/qtest/virtio-blk-test.c
M tests/tcg/multiarch/system/memory.c
M tests/tcg/s390x/Makefile.softmmu-target
M tests/tcg/s390x/Makefile.target
A tests/tcg/s390x/console.c
A tests/tcg/s390x/ex-branch.c
A tests/tcg/s390x/head64.S
M util/async-teardown.c
Log Message:
-----------
Merge tag 'pull-request-2023-05-15' of https://gitlab.com/thuth/qemu into
staging
* Various small test updates
* Some small doc updates
* Introduce replacement for -async-teardown that shows up in the QAPI
* Make machine-qmp-cmds.c and xilinx_ethlite.c target-independent
* Fix s390x LDER instruction
* Fix s390x EXECUTE instruction with relative branches
# -----BEGIN PGP SIGNATURE-----
#
# iQJFBAABCAAvFiEEJ7iIR+7gJQEY8+q5LtnXdP5wLbUFAmRiLCsRHHRodXRoQHJl
# ZGhhdC5jb20ACgkQLtnXdP5wLbURUw/+JZYsNBA/A9KHINTuuxLrbQ7cwXUKO2gZ
# SHyzRtZXmRcDJwmZCToLSBmi4Daxmyim7hgCChocV/9M/RhxlDeA0UqJOli1YKNg
# bFfScS9ppFkmaGTAIwk+iTkccKhZyfpe/H9DIcP7idgsonOU8gqJZzk8EkIbtA6d
# DBdSXTm7yPkPBMDMWR33F22yg5F74zVtaswrRbbCn8XI7bNgXskUDwsv/zmfl46w
# 328nwypoC7VVREMF/55/wZgmaYg9n3Do34PEEnv5fL8UzYvpB3Sgbig5G9fXzGS3
# 9IrJ5ENZf0S53Ut2POMIE7/wO6VnPJvDZr4Md49wK+NxwwWc38B8xDTKWdb4XHt6
# gqjKxoldusFvfCOBJfdG+SQ/t1EUfubpvUcm6giR5JkYBuzGmiSDyizztqnZE4KU
# N5lbEpXQsadAvcVOfhwV7xZdSTD8E0fK8DmbQzT1GweJ3WBlJNJkCDgwriVcLFXi
# 8VY09mUEdBaLlE9UG6BXCvV6FXuBG6ypjBMS0xdWVL4BzhgyWKPBHHifvsfdUBfx
# GP5D0cTiRcbJpaTI1ZxfOh4TezXpqnNf/itBLFsrH0WisZb8yDEjzg1t5iDSuOZV
# QQ0qjTtyc2jD/Gt35wMOjBPfl7SiuwJF977VfpSF5iLAvsu20LyaGRQphS+SopF/
# 9MGtGiabQIg=
# =Q+zT
# -----END PGP SIGNATURE-----
# gpg: Signature made Mon 15 May 2023 05:57:15 AM PDT
# gpg: using RSA key 27B88847EEE0250118F3EAB92ED9D774FE702DB5
# gpg: issuer "thuth@redhat.com"
# gpg: Good signature from "Thomas Huth <th.huth@gmx.de>" [undefined]
# gpg: aka "Thomas Huth <thuth@redhat.com>" [undefined]
# gpg: aka "Thomas Huth <th.huth@posteo.de>" [unknown]
# gpg: aka "Thomas Huth <huth@tuxfamily.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: 27B8 8847 EEE0 2501 18F3 EAB9 2ED9 D774 FE70 2DB5
* tag 'pull-request-2023-05-15' of https://gitlab.com/thuth/qemu: (21 commits)
tests/tcg/s390x: Test EXECUTE of relative branches
target/s390x: Fix EXECUTE of relative branches
tests/tcg/s390x: Enable the multiarch system tests
tests/tcg/multiarch: Make the system memory test work on big-endian
s390x/tcg: Fix LDER instruction format
hw/net: Move xilinx_ethlite.c to the target-independent source set
hw/core: Move machine-qmp-cmds.c into the target independent source set
cpu: Introduce a wrapper for being able to use TARGET_NAME in common code
hw/core: Use a callback for target specific query-cpus-fast information
docs/about/emulation: fix typo
docs/devel: remind developers to run CI container pipeline when updating
images
s390x/pv: Fix spurious warning with asynchronous teardown
util/async-teardown: wire up query-command-line-options
tests/lcitool: Add mtools and xorriso and remove genisoimage as dependencies
tests: libvirt-ci: Update to commit 'c8971e90ac' to pull in mformat and
xorriso
Add information how to fix common build error on Windows in
symlink-install-tree
hw/pci-bridge: Fix release ordering by embedding PCIBridgeWindows within
PCIBridge
tests/qtest: replace qmp_discard_response with qtest_qmp_assert_success
net: stream: test reconnect option with an unix socket
sysemu/kvm: Remove unused headers
...
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Commit: 2c4ead585ff78bc29678d5af773f85946378a018
https://github.com/qemu/qemu/commit/2c4ead585ff78bc29678d5af773f85946378a018
Author: Richard Henderson <richard.henderson@linaro.org>
Date: 2023-05-15 (Mon, 15 May 2023)
Changed paths:
M block.c
M block/block-backend.c
M block/file-posix.c
M block/io.c
M block/io_uring.c
M block/linux-aio.c
M block/qapi-sysemu.c
M block/qapi.c
M block/raw-format.c
M block/trace-events
M docs/devel/index-api.rst
A docs/devel/zoned-storage.rst
M docs/system/qemu-block-drivers.rst.inc
M hw/block/trace-events
M hw/block/virtio-blk-common.c
M hw/block/virtio-blk.c
M hw/virtio/virtio-qmp.c
M include/block/accounting.h
M include/block/block-common.h
M include/block/block-io.h
M include/block/block_int-common.h
M include/block/raw-aio.h
M include/sysemu/block-backend-io.h
M meson.build
M qapi/block-core.json
M qapi/block.json
M qemu-io-cmds.c
M tests/qemu-iotests/227.out
A tests/qemu-iotests/tests/zoned
A tests/qemu-iotests/tests/zoned.out
Log Message:
-----------
Merge tag 'block-pull-request' of https://gitlab.com/stefanha/qemu into
staging
Pull request
This pull request contain's Sam Li's zoned storage support in the QEMU block
layer and virtio-blk emulation.
v2:
- Sam fixed the CI failures. CI passes for me now. [Richard]
# -----BEGIN PGP SIGNATURE-----
#
# iQEzBAABCAAdFiEEhpWov9P5fNqsNXdanKSrs4Grc8gFAmRiWCgACgkQnKSrs4Gr
# c8h/7gf+MMm2cGEaf376t8HMwTc6wbXVfbmAlZrge2EXPZfFvEaxj7HClcEraOgV
# yJsGWeU6mOw4r68ICJ/4KhrY1cdv+VZym/LsMLMcFUTXFHnyX4pyU3am31FPOI4K
# +wrDYJOJhc4DkAESWGgEWiMKpuO/uUEgBmHdW+qPFCl77Yl/eP6H5uNP6nGFn55p
# QpS/l8iha7PDkc81EsrjA+e/YI0ubfNSP7+zZElhQ98354CQ0MCfmZ6h9bT+o2bu
# R7SBUj80e+2X0a1b9s/2Jz/x8l4TEsl8kr48/Q1usq3GVVkbjEgqsk6wTN13Q/4g
# CeIR7E61ZeYzmpb4tLFRIqK2Jw+NEQ==
# =Q8xW
# -----END PGP SIGNATURE-----
# gpg: Signature made Mon 15 May 2023 09:04:56 AM PDT
# gpg: using RSA key 8695A8BFD3F97CDAAC35775A9CA4ABB381AB73C8
# gpg: Good signature from "Stefan Hajnoczi <stefanha@redhat.com>" [full]
# gpg: aka "Stefan Hajnoczi <stefanha@gmail.com>" [full]
* tag 'block-pull-request' of https://gitlab.com/stefanha/qemu:
docs/zoned-storage:add zoned emulation use case
virtio-blk: add some trace events for zoned emulation
block: add accounting for zone append operation
virtio-blk: add zoned storage emulation for zoned devices
block: add some trace events for zone append
qemu-iotests: test zone append operation
block: introduce zone append write for zoned devices
file-posix: add tracking of the zone write pointers
docs/zoned-storage: add zoned device documentation
block: add some trace events for new block layer APIs
iotests: test new zone operations
block: add zoned BlockDriver check to block layer
block/raw-format: add zone operations to pass through requests
block/block-backend: add block layer APIs resembling Linux ZonedBlockDevice
ioctls
block/file-posix: introduce helper functions for sysfs attributes
block/block-common: add zoned device structs
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Compare: https://github.com/qemu/qemu/compare/18b6727083ac...2c4ead585ff7
- [Qemu-commits] [qemu/qemu] 00a3f9: migration/calc-dirty-rate: replaced CRC32 with xxHash,
Richard Henderson <=