Branch: refs/heads/staging
  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

Reply via email to