Branch: refs/heads/master
Home: https://github.com/qemu/qemu
Commit: ffcfb0faaa95fc6ca007f7dd989e390dacf936ca
https://github.com/qemu/qemu/commit/ffcfb0faaa95fc6ca007f7dd989e390dacf936ca
Author: Tanish Desai <[email protected]>
Date: 2025-06-02 (Mon, 02 Jun 2025)
Changed paths:
M scripts/tracetool/backend/simple.py
Log Message:
-----------
trace/simple: seperate hot paths of tracing fucntions
This change improves performance by moving the hot path of the
trace_vhost_commit()(or any other trace function) logic to the header file.
Previously, even when the trace event was disabled, the function call chain:-
trace_vhost_commit()(Or any other trace function) →
_nocheck__trace_vhost_commit() → _simple_trace_vhost_commit()
incurred a significant function prologue overhead before checking the
trace state.
Disassembly of _simple_trace_vhost_commit() (from the .c file) showed that 11
out of the first 14 instructions were prologue-related, including:
0x10 stp x29, x30, [sp, #-64]! Prologue: allocates 64-byte frame and
saves old FP (x29) & LR (x30)
0x14 adrp x3, trace_events_enabled_count Prologue: computes page-base of
the trace-enable counter
0x18 adrp x2, __stack_chk_guard Important (maybe prolog don't
know?)(stack-protector): starts up the stack-canary load
0x1c mov x29, sp Prologue: sets new frame pointer
0x20 ldr x3, [x3] Prologue: loads the actual trace-enabled count
0x24 stp x19, x20, [sp, #16] Prologue: spills callee-saved regs used by this
function (x19, x20)
0x28 and w20, w0, #0xff Tracepoint setup: extracts the low-8 bits of
arg0 as the “event boolean”
0x2c ldr x2, [x2] Prologue (cont’d): completes loading of the
stack-canary value
0x30 and w19, w1, #0xff Tracepoint setup: extracts low-8 bits of arg1
0x34 ldr w0, [x3] Important: loads the current trace-enabled flag from
memory
0x38 ldr x1, [x2] Prologue (cont’d): reads the canary
0x3c str x1, [sp, #56] Prologue (cont’d): writes the canary into the
new frame
0x40 mov x1, #0 Prologue (cont’d): zeroes out x1 for the upcoming
branch test
0x44 cbnz w0, 0x88 Important: if tracing is disabled (w0==0) skip the
heavy path entirely
The trace-enabled check happens after the prologue. This is wasteful when
tracing is disabled, which is often the case in production.
To optimize this:
_nocheck__trace_vhost_commit() is now fully inlined in the .h file with
the hot path.It checks trace_event_get_state() before calling into
_simple_trace_vhost_commit(), which remains in .c.
This avoids calling into the .c function altogether when the tracepoint is
disabled, thereby skipping unnecessary prologue instructions.
This results in better performance by removing redundant instructions in the
tracing fast path.
Signed-off-by: Tanish Desai <[email protected]>
Message-id: [email protected]
Signed-off-by: Stefan Hajnoczi <[email protected]>
Commit: 5e203f73c22786c73214d48a6d1abcb4ae9a3be3
https://github.com/qemu/qemu/commit/5e203f73c22786c73214d48a6d1abcb4ae9a3be3
Author: Markus Armbruster <[email protected]>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M qapi/acpi.json
M qapi/block-core.json
M qapi/crypto.json
M qapi/machine.json
M qapi/migration.json
Log Message:
-----------
qapi: Tidy up run-together sentences in doc comments
Fixes: a937b6aa739f (qapi: Reformat doc comments to conform to current
conventions)
Signed-off-by: Markus Armbruster <[email protected]>
Message-ID: <[email protected]>
Reviewed-by: Eric Blake <[email protected]>
Commit: 69d68fb34e1d96f60addfd50c9c654eb8c0584e0
https://github.com/qemu/qemu/commit/69d68fb34e1d96f60addfd50c9c654eb8c0584e0
Author: Markus Armbruster <[email protected]>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M qapi/block-core.json
M qapi/block-export.json
M qapi/char.json
M qapi/crypto.json
M qapi/job.json
M qapi/machine.json
M qapi/migration.json
M qapi/qom.json
Log Message:
-----------
qapi: Tidy up whitespace in doc comments
Signed-off-by: Markus Armbruster <[email protected]>
Message-ID: <[email protected]>
Reviewed-by: Eric Blake <[email protected]>
Commit: 73aaba61a07c4bb4cd683a450a47504274ea1274
https://github.com/qemu/qemu/commit/73aaba61a07c4bb4cd683a450a47504274ea1274
Author: Markus Armbruster <[email protected]>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M qapi/block-core.json
M qapi/net.json
Log Message:
-----------
qapi: Move (since X.Y) to end of description
By convention, we put (since X.Y) at the end of the description. Move
the ones that somehow ended up in the middle of the description to the
end.
Signed-off-by: Markus Armbruster <[email protected]>
Message-ID: <[email protected]>
Reviewed-by: Eric Blake <[email protected]>
Commit: c1a6aa1d443e17e1902417ee2e531394eaf4c2d4
https://github.com/qemu/qemu/commit/c1a6aa1d443e17e1902417ee2e531394eaf4c2d4
Author: Markus Armbruster <[email protected]>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M qapi/block-core.json
M qapi/introspect.json
M qapi/job.json
M qapi/machine.json
M qapi/migration.json
M qapi/net.json
M qapi/run-state.json
M qapi/ui.json
Log Message:
-----------
qapi: Avoid breaking lines within (since X.Y)
Easier on the eyes and for grep.
Signed-off-by: Markus Armbruster <[email protected]>
Message-ID: <[email protected]>
Reviewed-by: Eric Blake <[email protected]>
Commit: 2e2309b6be074a2087afc3aedabcee722fcd512f
https://github.com/qemu/qemu/commit/2e2309b6be074a2087afc3aedabcee722fcd512f
Author: Markus Armbruster <[email protected]>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M qapi/machine.json
Log Message:
-----------
qapi: Drop a problematic (Since: 2.11) from query-hotpluggable-cpus
There is a (Since: 2.11) in a query-hotpluggable-cpus example.
Versioning information ought to be in the command description, not
examples. The command description is basically empty (there is a TODO
about it).
What exactly didn't work before 2.11 is not quite clear from the
documentation. The example was added in commit 4dc3b151882 (s390x:
implement query-hotpluggable-cpus), which suggests the command failed
for the s390x target until then. This was almost eight years ago, and
I doubt anyone still cares about this detail. Simply delete
the problematic (Since: 2.11).
Cc: David Hildenbrand <[email protected]>
Signed-off-by: Markus Armbruster <[email protected]>
Message-ID: <[email protected]>
Reviewed-by: Eric Blake <[email protected]>
Commit: 6263225492bad6d0f3a4feea13cd949b977fb3c3
https://github.com/qemu/qemu/commit/6263225492bad6d0f3a4feea13cd949b977fb3c3
Author: Markus Armbruster <[email protected]>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M qapi/audio.json
M qapi/block-core.json
M qapi/block-export.json
M qapi/char.json
M qapi/introspect.json
M qapi/migration.json
M qapi/run-state.json
M qapi/transaction.json
M qapi/uefi.json
M qapi/ui.json
Log Message:
-----------
qapi: Correct spelling of QEMU in doc comments
Improve awkward phrasing in migrate-incoming While there.
Signed-off-by: Markus Armbruster <[email protected]>
Message-ID: <[email protected]>
Reviewed-by: Eric Blake <[email protected]>
Commit: 83691fa0698d658781a9ce81d4b8775d34ba6a8e
https://github.com/qemu/qemu/commit/83691fa0698d658781a9ce81d4b8775d34ba6a8e
Author: Markus Armbruster <[email protected]>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M qapi/block-core.json
M qapi/block.json
M qapi/cryptodev.json
M qapi/cxl.json
M qapi/machine.json
M qapi/misc-i386.json
M qapi/run-state.json
M qapi/transaction.json
Log Message:
-----------
qapi: Fix capitalization in doc comments
Signed-off-by: Markus Armbruster <[email protected]>
Message-ID: <[email protected]>
Reviewed-by: Eric Blake <[email protected]>
Commit: 188b31ad425c4122363a3af47343e0d3228687f8
https://github.com/qemu/qemu/commit/188b31ad425c4122363a3af47343e0d3228687f8
Author: Markus Armbruster <[email protected]>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M qapi/block-core.json
M qapi/dump.json
M qapi/migration.json
M qapi/misc.json
Log Message:
-----------
qapi: Use proper markup instead of CAPS for emphasis in doc comments
Signed-off-by: Markus Armbruster <[email protected]>
Message-ID: <[email protected]>
Reviewed-by: Eric Blake <[email protected]>
Commit: 51acba6fad54099dad5ba6d0ab2392d9b93ae284
https://github.com/qemu/qemu/commit/51acba6fad54099dad5ba6d0ab2392d9b93ae284
Author: Markus Armbruster <[email protected]>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M qapi/block-core.json
Log Message:
-----------
qapi: Spell JSON null correctly in blockdev-reopen documentation
The doc comment misspells JSON null as NULL. Fix that.
Cc: Kevin Wolf <[email protected]>
Signed-off-by: Markus Armbruster <[email protected]>
Message-ID: <[email protected]>
Reviewed-by: Eric Blake <[email protected]>
Commit: 5ca6400cadecc2556ad0852780896eb94bdf4018
https://github.com/qemu/qemu/commit/5ca6400cadecc2556ad0852780896eb94bdf4018
Author: Markus Armbruster <[email protected]>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M qapi/block-core.json
Log Message:
-----------
qapi: Refer to job-FOO instead of deprecated block-job-FOO in docs
We deprecated several block-job-FOO commands in commit
b836bf2ab68 (qapi/block-core: deprecate some block-job- APIs). Update
the doc comments to refer to their replacements instead.
Signed-off-by: Markus Armbruster <[email protected]>
Message-ID: <[email protected]>
Reviewed-by: Eric Blake <[email protected]>
Commit: 901eb8b2d8a14a0378d1c59fe37733366d4da16c
https://github.com/qemu/qemu/commit/901eb8b2d8a14a0378d1c59fe37733366d4da16c
Author: Markus Armbruster <[email protected]>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M qapi/block-core.json
Log Message:
-----------
qapi: Mention both job-cancel and block-job-cancel in doc comments
Several doc comments mention block-job-cancel where the more generic
job-cancel would also work. Adjust them to mention both.
Signed-off-by: Markus Armbruster <[email protected]>
Message-ID: <[email protected]>
Reviewed-by: Eric Blake <[email protected]>
Commit: feeb08c260171e8a15236d20f2978c68aae4f569
https://github.com/qemu/qemu/commit/feeb08c260171e8a15236d20f2978c68aae4f569
Author: Markus Armbruster <[email protected]>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M qapi/block-core.json
M qapi/job.json
Log Message:
-----------
qapi: Tidy up references to job state CONCLUDED
When talking about the job state machine, we refer to the states like
READY, ABORTING, CONCLUDED, and so forth. Except in two places, where
we use JOB_STATUS_CONCLUDED. Replace by CONCLUDED for consistency.
We should arguably use the JobStatus enum values instead. Left for
another day.
Signed-off-by: Markus Armbruster <[email protected]>
Message-ID: <[email protected]>
Reviewed-by: Eric Blake <[email protected]>
Commit: 8fa2020647041e9f01bc308589bb7fa00355ac9b
https://github.com/qemu/qemu/commit/8fa2020647041e9f01bc308589bb7fa00355ac9b
Author: Markus Armbruster <[email protected]>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M qapi/block-core.json
M qapi/job.json
Log Message:
-----------
qapi: Improve documentation around job state @concluded
We use "the query list" in a few places. It's not entirely obvious
what that means. It's actually the output of query-jobs or
query-block-jobs.
Documentation of @auto-dismiss talks about the job disappearing from
the query list when it reaches state @concluded. This is less than
precise. The job doesn't merely disappear from the query list, it
disappears, period.
Documentation of JobStatus @concluded explains "the job will remain in
the query list until it is dismissed". Again less than precise. It
remains in state @concluded until dismissed.
Rephrase without use of "the query list" for clarity and precision.
Signed-off-by: Markus Armbruster <[email protected]>
Message-ID: <[email protected]>
Reviewed-by: Eric Blake <[email protected]>
Commit: 37fa1bdf3439b924b6f833f500c764d473dfc4b7
https://github.com/qemu/qemu/commit/37fa1bdf3439b924b6f833f500c764d473dfc4b7
Author: Stefan Hajnoczi <[email protected]>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M scripts/tracetool/backend/simple.py
Log Message:
-----------
Merge tag 'tracing-pull-request' of https://gitlab.com/stefanha/qemu into
staging
Pull request
# -----BEGIN PGP SIGNATURE-----
#
# iQEzBAABCgAdFiEEhpWov9P5fNqsNXdanKSrs4Grc8gFAmg+JcgACgkQnKSrs4Gr
# c8jRKQgAgBwP5c+5YAN868Uu9nIZjT/B544FkQSp77t4SPfzzzChYHy4CGlbspYm
# vGnAkYRn5u7EXLnJ7bm9J5wLvGLVLtyWJbpCRUHjYTG37xa4Q0NZ/I2iJqUbU863
# D8lv/R5kjlUsa/p955v2TCl2q8Oif++slqsLeFOoH0dy26ehalasLkqCf5SXlhlF
# 5ULMRDKvHxkQhntp3k3DjzZVI7cUDhhLSYK9jpEVy+BVlhmUtWEeLp/mDdhdBQps
# fy4c7G0VBpsUEIZP8+DFPSwTdQ+p2jjJXSlPGGCYBh5KfAKnOD8XaGWlozR5Gngz
# v4bSHzgxU0HArmAfTh3vVftljyNvug==
# =a0+Y
# -----END PGP SIGNATURE-----
# gpg: Signature made Mon 02 Jun 2025 18:29:28 EDT
# gpg: using RSA key 8695A8BFD3F97CDAAC35775A9CA4ABB381AB73C8
# gpg: Good signature from "Stefan Hajnoczi <[email protected]>" [ultimate]
# gpg: aka "Stefan Hajnoczi <[email protected]>" [ultimate]
# Primary key fingerprint: 8695 A8BF D3F9 7CDA AC35 775A 9CA4 ABB3 81AB 73C8
* tag 'tracing-pull-request' of https://gitlab.com/stefanha/qemu:
trace/simple: seperate hot paths of tracing fucntions
Signed-off-by: Stefan Hajnoczi <[email protected]>
Commit: 09be8a511a2e278b45729d7b065d30c68dd699d0
https://github.com/qemu/qemu/commit/09be8a511a2e278b45729d7b065d30c68dd699d0
Author: Stefan Hajnoczi <[email protected]>
Date: 2025-06-03 (Tue, 03 Jun 2025)
Changed paths:
M qapi/acpi.json
M qapi/audio.json
M qapi/block-core.json
M qapi/block-export.json
M qapi/block.json
M qapi/char.json
M qapi/crypto.json
M qapi/cryptodev.json
M qapi/cxl.json
M qapi/dump.json
M qapi/introspect.json
M qapi/job.json
M qapi/machine.json
M qapi/migration.json
M qapi/misc-i386.json
M qapi/misc.json
M qapi/net.json
M qapi/qom.json
M qapi/run-state.json
M qapi/transaction.json
M qapi/uefi.json
M qapi/ui.json
Log Message:
-----------
Merge tag 'pull-qapi-2025-06-03' of https://repo.or.cz/qemu/armbru into
staging
QAPI patches patches for 2025-06-03
# -----BEGIN PGP SIGNATURE-----
#
# iQJGBAABCAAwFiEENUvIs9frKmtoZ05fOHC0AOuRhlMFAmg+l58SHGFybWJydUBy
# ZWRoYXQuY29tAAoJEDhwtADrkYZTKhYP/jp/b96B6341Z7czsBkU+CheIbPzLhvw
# QaahaM8C2B8opiiEIU46rRdV2ikccd5npj5rVEioJ8z3TLPfpQiWcKKyBBHBQGLW
# bIlAX0Ti/s6RTsSpduwAqsbwThJYEeERA5Bzn9qZTubRy9O8JYKisvRIs0SsqIU0
# kp3MXg4xWZUs+OGGl5SzLsoei7FaTmF3KGN9DMHM8ra21c82lWwKAFOUIERFWI/J
# 9Ed6pU58oE0hFd3LD7N4HAxyExCZN5ifcPI1ILEj/RSTaYedoQZ1PMP9PRfmyEXJ
# StgbbpnuaSBd8uWnahDutTpsZvBHenZpZF95loPZOSWNHIB7djCJTk9nI6Uc8bUH
# UytdLkcGXoWjbRJHua9feW7k8HJAMHZq+6m7AqvbdWUBrxpvutuqGE2vJqZSEjad
# 43+azaQRnXT0bNJ4oB6oXccyteaRf0QdZnKjdSCRtMsu6RZNNtVkx9kaE/lnwvBF
# YigN0hFeGc+0LxjOUjD2JgsJS+i//jW3LFpxwXaVXBqmpl9iiBZYjAOdoC0tJzsE
# eMOXcQGZJtLCmhOEVs7bRevuKCIjwIm/XQw6R31nE1kLf/jEjGox5IaBv8VP4mIf
# EoEiL5Euh5zAejGa5vo7SIJ5G8LglV4U9eK9ee9iveITENhlcOUfMDWnFkYjbCt+
# n6aPxPvN9kQ2
# =MPkT
# -----END PGP SIGNATURE-----
# gpg: Signature made Tue 03 Jun 2025 02:35:11 EDT
# gpg: using RSA key 354BC8B3D7EB2A6B68674E5F3870B400EB918653
# gpg: issuer "[email protected]"
# gpg: Good signature from "Markus Armbruster <[email protected]>" [full]
# gpg: aka "Markus Armbruster <[email protected]>" [full]
# Primary key fingerprint: 354B C8B3 D7EB 2A6B 6867 4E5F 3870 B400 EB91 8653
* tag 'pull-qapi-2025-06-03' of https://repo.or.cz/qemu/armbru:
qapi: Improve documentation around job state @concluded
qapi: Tidy up references to job state CONCLUDED
qapi: Mention both job-cancel and block-job-cancel in doc comments
qapi: Refer to job-FOO instead of deprecated block-job-FOO in docs
qapi: Spell JSON null correctly in blockdev-reopen documentation
qapi: Use proper markup instead of CAPS for emphasis in doc comments
qapi: Fix capitalization in doc comments
qapi: Correct spelling of QEMU in doc comments
qapi: Drop a problematic (Since: 2.11) from query-hotpluggable-cpus
qapi: Avoid breaking lines within (since X.Y)
qapi: Move (since X.Y) to end of description
qapi: Tidy up whitespace in doc comments
qapi: Tidy up run-together sentences in doc comments
Signed-off-by: Stefan Hajnoczi <[email protected]>
Compare: https://github.com/qemu/qemu/compare/6322b753f798...09be8a511a2e
To unsubscribe from these emails, change your notification settings at
https://github.com/qemu/qemu/settings/notifications