qemu-cr16/qapi
Peter Xu 3345fb3b6d migration/postcopy: Add latency distribution report for blocktime
Add the latency distribution too for blocktime, using order-of-two buckets.
It accounts for all the faults, from either vCPU or non-vCPU threads.  With
prior rework, it's very easy to achieve by adding an array to account for
faults in each buckets.

Sample output for HMP (while for QMP it's simply an array):

Postcopy Latency Distribution:
  [     1 us -     2 us ]:          0
  [     2 us -     4 us ]:          0
  [     4 us -     8 us ]:          1
  [     8 us -    16 us ]:          2
  [    16 us -    32 us ]:          2
  [    32 us -    64 us ]:          3
  [    64 us -   128 us ]:      10169
  [   128 us -   256 us ]:      50151
  [   256 us -   512 us ]:      12876
  [   512 us -     1 ms ]:         97
  [     1 ms -     2 ms ]:         42
  [     2 ms -     4 ms ]:         44
  [     4 ms -     8 ms ]:         93
  [     8 ms -    16 ms ]:        138
  [    16 ms -    32 ms ]:          0
  [    32 ms -    65 ms ]:          0
  [    65 ms -   131 ms ]:          0
  [   131 ms -   262 ms ]:          0
  [   262 ms -   524 ms ]:          0
  [   524 ms -    1 sec ]:          0
  [    1 sec -    2 sec ]:          0
  [    2 sec -    4 sec ]:          0
  [    4 sec -    8 sec ]:          0
  [    8 sec -   16 sec ]:          0

Cc: Markus Armbruster <armbru@redhat.com>
Acked-by: Dr. David Alan Gilbert <dave@treblig.org>
Reviewed-by: Fabiano Rosas <farosas@suse.de>
Link: https://lore.kernel.org/r/20250613141217.474825-15-peterx@redhat.com
Signed-off-by: Peter Xu <peterx@redhat.com>
Signed-off-by: Fabiano Rosas <farosas@suse.de>
2025-07-11 10:37:39 -03:00
..
acpi.json qapi: Tidy up run-together sentences in doc comments 2025-06-03 08:34:56 +02:00
audio.json qapi: Correct spelling of QEMU in doc comments 2025-06-03 08:34:56 +02:00
authz.json qapi: Reformat doc comments to conform to current conventions 2023-05-10 10:01:01 +02:00
block-core.json qapi: Improve documentation around job state @concluded 2025-06-03 08:34:57 +02:00
block-export.json qapi: Correct spelling of QEMU in doc comments 2025-06-03 08:34:56 +02:00
block.json qapi: Fix capitalization in doc comments 2025-06-03 08:34:57 +02:00
char.json qapi: Correct spelling of QEMU in doc comments 2025-06-03 08:34:56 +02:00
common.json hw/qdev-properties-system: Introduce EndianMode QAPI enum 2025-02-16 14:33:39 +01:00
compat.json qapi: Belatedly update CompatPolicy documentation for unstable 2023-10-19 07:02:29 +02:00
control.json qapi: use imperative style in documentation 2025-05-28 18:59:12 +02:00
crypto.json qapi: Tidy up whitespace in doc comments 2025-06-03 08:34:56 +02:00
cryptodev.json qapi: Fix capitalization in doc comments 2025-06-03 08:34:57 +02:00
cxl.json qapi: Fix capitalization in doc comments 2025-06-03 08:34:57 +02:00
dump.json qapi: Use proper markup instead of CAPS for emphasis in doc comments 2025-06-03 08:34:57 +02:00
ebpf.json qapi/ebpf: Drop temporary 'prefix' 2024-09-10 13:22:47 +02:00
error.json qapi: Reformat doc comments to conform to current conventions 2023-05-10 10:01:01 +02:00
introspect.json qapi: Correct spelling of QEMU in doc comments 2025-06-03 08:34:56 +02:00
job.json qapi: Improve documentation around job state @concluded 2025-06-03 08:34:57 +02:00
machine-common.json qapi/qom: Define cache enumeration and properties for machine 2024-11-05 23:32:25 +00:00
machine-s390x.json qapi: make s390x specific CPU commands unconditionally available 2025-05-28 18:56:08 +02:00
machine.json accel/tcg: Remove 'info opcount' and @x-query-opcount 2025-07-04 12:07:59 +02:00
meson.build qapi: make all generated files common 2025-05-28 18:56:08 +02:00
migration.json migration/postcopy: Add latency distribution report for blocktime 2025-07-11 10:37:39 -03:00
misc-arm.json qapi: expose query-gic-capability command unconditionally 2025-05-28 18:54:18 +02:00
misc-i386.json qapi: Fix capitalization in doc comments 2025-06-03 08:34:57 +02:00
misc.json qapi: Use proper markup instead of CAPS for emphasis in doc comments 2025-06-03 08:34:57 +02:00
net.json qapi: Avoid breaking lines within (since X.Y) 2025-06-03 08:34:56 +02:00
opts-visitor.c qapi: Inline and remove QERR_INVALID_PARAMETER definition 2024-04-24 09:50:58 +02:00
pci.json qapi/pci: Supply missing member documentation 2024-10-02 09:10:01 +02:00
pragma.json qapi: Document QCryptodevBackendServiceType 2024-10-02 09:10:01 +02:00
qapi-clone-visitor.c qapi: Move include/qapi/qmp/ to include/qobject/ 2025-02-10 15:33:16 +01:00
qapi-dealloc-visitor.c qapi: Move include/qapi/qmp/ to include/qobject/ 2025-02-10 15:33:16 +01:00
qapi-forward-visitor.c qapi: change 'unsigned special_features' to 'uint64_t features' 2025-02-10 15:45:04 +01:00
qapi-schema.json qapi: make s390x specific CPU commands unconditionally available 2025-05-28 18:56:08 +02:00
qapi-type-helpers.c qapi: New strv_from_str_list() 2024-03-04 07:12:40 +01:00
qapi-util.c qapi: change 'unsigned special_features' to 'uint64_t features' 2025-02-10 15:45:04 +01:00
qapi-visit-core.c qapi: change 'unsigned special_features' to 'uint64_t features' 2025-02-10 15:45:04 +01:00
qdev.json docs: Fix some typos (found by codespell and typos) 2025-04-13 13:45:04 +03:00
qmp-dispatch.c qapi: change 'unsigned special_features' to 'uint64_t features' 2025-02-10 15:45:04 +01:00
qmp-event.c qapi: Move include/qapi/qmp/ to include/qobject/ 2025-02-10 15:33:16 +01:00
qmp-registry.c qapi: change 'unsigned special_features' to 'uint64_t features' 2025-02-10 15:45:04 +01:00
qobject-input-visitor.c qapi: change 'unsigned special_features' to 'uint64_t features' 2025-02-10 15:45:04 +01:00
qobject-output-visitor.c qapi: change 'unsigned special_features' to 'uint64_t features' 2025-02-10 15:45:04 +01:00
qom.json i386/tdx: handle TDG.VP.VMCALL<GetQuote> 2025-06-20 13:25:59 +02:00
replay.json qapi: convert "Example" sections without titles 2024-07-17 10:20:53 +02:00
rocker.json qapi/rocker: Tidy up query-rocker-of-dpa-flows example 2025-04-08 09:04:20 +02:00
run-state.json qapi: Fix capitalization in doc comments 2025-06-03 08:34:57 +02:00
sockets.json util/qemu-sockets: Introduce inet socket options controlling TCP keep-alive 2025-05-22 11:24:41 +01:00
stats.json qapi: Refill doc comments to conform to conventions 2024-08-05 09:31:51 +02:00
string-input-visitor.c qapi: Move include/qapi/qmp/ to include/qobject/ 2025-02-10 15:33:16 +01:00
string-output-visitor.c string-output-visitor: Fix (pseudo) struct handling 2024-01-26 11:16:58 +01:00
tpm.json qapi: convert "Example" sections without titles 2024-07-17 10:20:53 +02:00
trace-events qapi: Generalize struct member policy checking 2021-10-29 18:23:09 +02:00
trace.h trace: switch position of headers to what Meson requires 2020-08-21 06:18:24 -04:00
trace.json qapi: convert "Example" sections without titles 2024-07-17 10:20:53 +02:00
transaction.json qapi: Fix capitalization in doc comments 2025-06-03 08:34:57 +02:00
uefi.json qapi: Correct spelling of QEMU in doc comments 2025-06-03 08:34:56 +02:00
ui.json qapi: Correct spelling of QEMU in doc comments 2025-06-03 08:34:56 +02:00
vfio.json qapi/vfio: Rename VfioMigrationState to Qapi*, and drop prefix 2024-09-10 14:03:45 +02:00
virtio.json qapi: use imperative style in documentation 2025-05-28 18:59:12 +02:00
yank.json qapi: convert "Example" sections without titles 2024-07-17 10:20:53 +02:00