71ad4713 | 25-Apr-2022 |
Nicolas Saenz Julienne <nsaenzju@redhat.com> |
util/event-loop-base: Introduce options to set the thread pool size
The thread pool regulates itself: when idle, it kills threads until empty, when in demand, it creates new threads until full. This
util/event-loop-base: Introduce options to set the thread pool size
The thread pool regulates itself: when idle, it kills threads until empty, when in demand, it creates new threads until full. This behaviour doesn't play well with latency sensitive workloads where the price of creating a new thread is too high. For example, when paired with qemu's '-mlock', or using safety features like SafeStack, creating a new thread has been measured take multiple milliseconds.
In order to mitigate this let's introduce a new 'EventLoopBase' property to set the thread pool size. The threads will be created during the pool's initialization or upon updating the property's value, remain available during its lifetime regardless of demand, and destroyed upon freeing it. A properly characterized workload will then be able to configure the pool to avoid any latency spikes.
Signed-off-by: Nicolas Saenz Julienne <nsaenzju@redhat.com> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Acked-by: Markus Armbruster <armbru@redhat.com> Message-id: 20220425075723.20019-4-nsaenzju@redhat.com Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
show more ...
|
70ac26b9 | 25-Apr-2022 |
Nicolas Saenz Julienne <nsaenzju@redhat.com> |
util/main-loop: Introduce the main loop into QOM
'event-loop-base' provides basic property handling for all 'AioContext' based event loops. So let's define a new 'MainLoopClass' that inherits from i
util/main-loop: Introduce the main loop into QOM
'event-loop-base' provides basic property handling for all 'AioContext' based event loops. So let's define a new 'MainLoopClass' that inherits from it. This will permit tweaking the main loop's properties through qapi as well as through the command line using the '-object' keyword[1]. Only one instance of 'MainLoopClass' might be created at any time.
'EventLoopBaseClass' learns a new callback, 'can_be_deleted()' so as to mark 'MainLoop' as non-deletable.
[1] For example: -object main-loop,id=main-loop,aio-max-batch=<value>
Signed-off-by: Nicolas Saenz Julienne <nsaenzju@redhat.com> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Acked-by: Markus Armbruster <armbru@redhat.com> Message-id: 20220425075723.20019-3-nsaenzju@redhat.com Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
show more ...
|
abea1946 | 01-Apr-2022 |
Vladimir Sementsov-Ogievskiy <vladimir.sementsov-ogievskiy@openvz.org> |
qapi/ui: add 'display-update' command for changing listen address
Add possibility to change addresses where VNC server listens for new connections. Prior to 6.0 this functionality was available thro
qapi/ui: add 'display-update' command for changing listen address
Add possibility to change addresses where VNC server listens for new connections. Prior to 6.0 this functionality was available through 'change' qmp command which was deleted.
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@openvz.org> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Message-Id: <20220401143936.356460-3-vsementsov@openvz.org> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
show more ...
|
e5fb29d5 | 14-Mar-2022 |
Vladimir Sementsov-Ogievskiy <vsementsov@openvz.org> |
qapi: nbd-export: allow select bitmaps by node/name pair
Hi all! Current logic of relying on search through backing chain is not safe neither convenient.
Sometimes it leads to necessity of extra bi
qapi: nbd-export: allow select bitmaps by node/name pair
Hi all! Current logic of relying on search through backing chain is not safe neither convenient.
Sometimes it leads to necessity of extra bitmap copying. Also, we are going to add "snapshot-access" driver, to access some snapshot state through NBD. And this driver is not formally a filter, and of course it's not a COW format driver. So, searching through backing chain will not work. Instead of widening the workaround of bitmap searching, let's extend the interface so that user can select bitmap precisely.
Note, that checking for bitmap active status is not copied to the new API, I don't see a reason for it, user should understand the risks. And anyway, bitmap from other node is unrelated to this export being read-only or read-write.
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@openvz.org> Message-Id: <20220314213226.362217-3-v.sementsov-og@mail.ru> [eblake: Adjust S-o-b to Vladimir's new email, with permission] Reviewed-by: Eric Blake <eblake@redhat.com> Signed-off-by: Eric Blake <eblake@redhat.com>
show more ...
|
de7371bc | 20-Apr-2022 |
Dov Murik <dovmurik@linux.ibm.com> |
qapi: Fix version of cpu0-id field
Commit 811b4ec7f8eb ("qapi, target/i386/sev: Add cpu0-id to query-sev-capabilities") wrongly stated that the new field is available since version 7.0.
Fix the QAP
qapi: Fix version of cpu0-id field
Commit 811b4ec7f8eb ("qapi, target/i386/sev: Add cpu0-id to query-sev-capabilities") wrongly stated that the new field is available since version 7.0.
Fix the QAPI documentation to state that the cpu0-id field is included since 7.1.
Signed-off-by: Dov Murik <dovmurik@linux.ibm.com> Message-Id: <20220420190129.3532623-1-dovmurik@linux.ibm.com> Reviewed-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Markus Armbruster <armbru@redhat.com>
show more ...
|
068613f0 | 20-Apr-2022 |
Andrea Bolognani <abologna@redhat.com> |
qapi: Fix typo
Signed-off-by: Andrea Bolognani <abologna@redhat.com> Message-Id: <20220420153408.243584-4-abologna@redhat.com> Reviewed-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Marku
qapi: Fix typo
Signed-off-by: Andrea Bolognani <abologna@redhat.com> Message-Id: <20220420153408.243584-4-abologna@redhat.com> Reviewed-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Markus Armbruster <armbru@redhat.com>
show more ...
|
f793dde0 | 07-Mar-2022 |
Marc-André Lureau <marcandre.lureau@redhat.com> |
Replace qemu_gettimeofday() with g_get_real_time()
GLib g_get_real_time() is an alternative to gettimeofday() which allows to simplify our code.
For semihosting, a few bits are lost on POSIX host,
Replace qemu_gettimeofday() with g_get_real_time()
GLib g_get_real_time() is an alternative to gettimeofday() which allows to simplify our code.
For semihosting, a few bits are lost on POSIX host, but this shouldn't be a big concern.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Reviewed-by: Laurent Vivier <laurent@vivier.eu> Message-Id: <20220307070401.171986-5-marcandre.lureau@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
show more ...
|
811b4ec7 | 28-Feb-2022 |
Dov Murik <dovmurik@linux.ibm.com> |
qapi, target/i386/sev: Add cpu0-id to query-sev-capabilities
Add a new field 'cpu0-id' to the response of query-sev-capabilities QMP command. The value of the field is the base64-encoded unique ID
qapi, target/i386/sev: Add cpu0-id to query-sev-capabilities
Add a new field 'cpu0-id' to the response of query-sev-capabilities QMP command. The value of the field is the base64-encoded unique ID of CPU0 (socket 0), which can be used to retrieve the signed CEK of the CPU from AMD's Key Distribution Service (KDS).
Signed-off-by: Dov Murik <dovmurik@linux.ibm.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Message-Id: <20220228093014.882288-1-dovmurik@linux.ibm.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
show more ...
|
8230f338 | 01-Apr-2022 |
Markus Armbruster <armbru@redhat.com> |
qapi: Fix calc-dirty-rate example
The example shows {"command": ...}, which is wrong. Fix it to {"execute": ...}.
Signed-off-by: Markus Armbruster <armbru@redhat.com> Message-Id: <20220401082028.3
qapi: Fix calc-dirty-rate example
The example shows {"command": ...}, which is wrong. Fix it to {"execute": ...}.
Signed-off-by: Markus Armbruster <armbru@redhat.com> Message-Id: <20220401082028.3583296-1-armbru@redhat.com> Reviewed-by: Victor Toso <victortoso@redhat.com>
show more ...
|
7c90031d | 31-Mar-2022 |
Victor Toso <victortoso@redhat.com> |
qapi: fix example of query-memdev command
Example output is missing mandatory argument @share for the return JSON object. Add it.
Signed-off-by: Victor Toso <victortoso@redhat.com> Message-Id: <202
qapi: fix example of query-memdev command
Example output is missing mandatory argument @share for the return JSON object. Add it.
Signed-off-by: Victor Toso <victortoso@redhat.com> Message-Id: <20220331190633.121077-10-victortoso@redhat.com> Reviewed-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Markus Armbruster <armbru@redhat.com>
show more ...
|
28c1ec60 | 31-Mar-2022 |
Victor Toso <victortoso@redhat.com> |
qapi: fix example of query-cpus-fast command
Example output contains member @arch that was removed in 445a5b4087 "machine: remove 'arch' field from 'query-cpus-fast' QMP command". Fix it.
Signed-of
qapi: fix example of query-cpus-fast command
Example output contains member @arch that was removed in 445a5b4087 "machine: remove 'arch' field from 'query-cpus-fast' QMP command". Fix it.
Signed-off-by: Victor Toso <victortoso@redhat.com> Message-Id: <20220331190633.121077-9-victortoso@redhat.com> Reviewed-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Markus Armbruster <armbru@redhat.com>
show more ...
|
6352c81b | 31-Mar-2022 |
Victor Toso <victortoso@redhat.com> |
qapi: fix example of trace-event-get-state command
The example output is missing the mandatory member @vcpu. Fix it.
Signed-off-by: Victor Toso <victortoso@redhat.com> Message-Id: <20220331190633.1
qapi: fix example of trace-event-get-state command
The example output is missing the mandatory member @vcpu. Fix it.
Signed-off-by: Victor Toso <victortoso@redhat.com> Message-Id: <20220331190633.121077-8-victortoso@redhat.com> Reviewed-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Markus Armbruster <armbru@redhat.com>
show more ...
|
51ec294d | 31-Mar-2022 |
Victor Toso <victortoso@redhat.com> |
qapi: fix example of query-colo-status command
The example output is missing the mandatory member @last-mode in the return value. Fix it.
Signed-off-by: Victor Toso <victortoso@redhat.com> Message-
qapi: fix example of query-colo-status command
The example output is missing the mandatory member @last-mode in the return value. Fix it.
Signed-off-by: Victor Toso <victortoso@redhat.com> Message-Id: <20220331190633.121077-7-victortoso@redhat.com> Reviewed-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Markus Armbruster <armbru@redhat.com>
show more ...
|
c7f4a0fc | 31-Mar-2022 |
Victor Toso <victortoso@redhat.com> |
qapi: fix example of query-vnc command
The return value is missing the mandatory member @websocket. Fix it.
Signed-off-by: Victor Toso <victortoso@redhat.com> Message-Id: <20220331190633.121077-6-v
qapi: fix example of query-vnc command
The return value is missing the mandatory member @websocket. Fix it.
Signed-off-by: Victor Toso <victortoso@redhat.com> Message-Id: <20220331190633.121077-6-victortoso@redhat.com> Reviewed-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Markus Armbruster <armbru@redhat.com>
show more ...
|
74dd52e5 | 31-Mar-2022 |
Victor Toso <victortoso@redhat.com> |
qapi: fix example of query-spice command
Example output is missing mandatory members @migrated and @mouse-mode. Fix it.
Signed-off-by: Victor Toso <victortoso@redhat.com> Message-Id: <2022033119063
qapi: fix example of query-spice command
Example output is missing mandatory members @migrated and @mouse-mode. Fix it.
Signed-off-by: Victor Toso <victortoso@redhat.com> Message-Id: <20220331190633.121077-5-victortoso@redhat.com> Reviewed-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Markus Armbruster <armbru@redhat.com>
show more ...
|
016b8359 | 31-Mar-2022 |
Victor Toso <victortoso@redhat.com> |
qapi: fix example of query-named-block-nodes command
Example output is missing mandatory member @detect_zeroes. Fix it.
Signed-off-by: Victor Toso <victortoso@redhat.com> Message-Id: <2022033119063
qapi: fix example of query-named-block-nodes command
Example output is missing mandatory member @detect_zeroes. Fix it.
Signed-off-by: Victor Toso <victortoso@redhat.com> Message-Id: <20220331190633.121077-4-victortoso@redhat.com> Reviewed-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Markus Armbruster <armbru@redhat.com>
show more ...
|
227a762b | 31-Mar-2022 |
Victor Toso <victortoso@redhat.com> |
qapi: fix examples: replay-break and replay-seek
Both examples outputs are using @data member for the arguments. This is wrong. The expected member for the QMP is @arguments. Fix it.
Signed-off-by:
qapi: fix examples: replay-break and replay-seek
Both examples outputs are using @data member for the arguments. This is wrong. The expected member for the QMP is @arguments. Fix it.
Signed-off-by: Victor Toso <victortoso@redhat.com> Message-Id: <20220331190633.121077-3-victortoso@redhat.com> Reviewed-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Markus Armbruster <armbru@redhat.com>
show more ...
|