qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] b9f88d: qmp: Support for querying stats


From: Richard Henderson
Subject: [Qemu-commits] [qemu/qemu] b9f88d: qmp: Support for querying stats
Date: Thu, 16 Jun 2022 07:13:39 -0700

  Branch: refs/heads/staging
  Home:   https://github.com/qemu/qemu
  Commit: b9f88dc0715a6b47afc4b06d569d1d693cdb6fc6
      
https://github.com/qemu/qemu/commit/b9f88dc0715a6b47afc4b06d569d1d693cdb6fc6
  Author: Mark Kanda <mark.kanda@oracle.com>
  Date:   2022-06-14 (Tue, 14 Jun 2022)

  Changed paths:
    A include/monitor/stats.h
    M monitor/qmp-cmds.c
    M qapi/meson.build
    M qapi/qapi-schema.json
    A qapi/stats.json

  Log Message:
  -----------
  qmp: Support for querying stats

Gathering statistics is important for development, for monitoring and
for performance measurement.  There are tools such as kvm_stat that do
this and they rely on the _user_ knowing the interesting data points
rather than the tool (which can treat them as opaque).

The commands introduced in this commit introduce QMP support for
querying stats; the goal is to take the capabilities of these tools
and making them available throughout the whole virtualization stack,
so that one can observe, monitor and measure virtual machines without
having shell access + root on the host that runs them.

query-stats returns a list of all stats per target type (only VM
and vCPU to start); future commits add extra options for specifying
stat names, vCPU qom paths, and providers.  All these are used by the
HMP command "info stats".  Because of the development usecases around
statistics, a good HMP interface is important.

query-stats-schemas returns a list of stats included in each target
type, with an option for specifying the provider.  The concepts in the
schema are based on the KVM binary stats' own introspection data, just
translated to QAPI.

There are two reasons to have a separate schema that is not tied to
the QAPI schema.  The first is the contents of the schemas: the new
introspection data provides different information than the QAPI data,
namely unit of measurement, how the numbers are gathered and change
(peak/instant/cumulative/histogram), and histogram bucket sizes.
There's really no reason to have this kind of metadata in the QAPI
introspection schema (except possibly for the unit of measure, but
there's a very weak justification).

Another reason is the dynamicity of the schema.  The QAPI introspection
data is very much static; and while QOM is somewhat more dynamic,
generally we consider that to be a bug rather than a feature these days.
On the other hand, the statistics that are exposed by QEMU might be
passed through from another source, such as KVM, and the disadvantages of
manually updating the QAPI schema for outweight the benefits from vetting
the statistics and filtering out anything that seems "too unstable".
Running old QEMU with new kernel is a supported usecase; if old QEMU
cannot expose statistics from a new kernel, or if a kernel developer
needs to change QEMU before gathering new info from the new kernel,
then that is a poor user interface.

The framework provides a method to register callbacks for these QMP
commands.  Most of the work in fact is done by the callbacks, and a
large majority of this patch is new QAPI structs and commands.

Examples (with KVM stats):

- Query all VM stats:

{ "execute": "query-stats", "arguments" : { "target": "vm" } }

{ "return": [
     { "provider": "kvm",
       "stats": [
          { "name": "max_mmu_page_hash_collisions", "value": 0 },
          { "name": "max_mmu_rmap_size", "value": 0 },
          { "name": "nx_lpage_splits", "value": 148 },
          ... ] },
     { "provider": "xyz",
       "stats": [ ... ] }
] }

- Query all vCPU stats:

{ "execute": "query-stats", "arguments" : { "target": "vcpu" } }

{ "return": [
     { "provider": "kvm",
       "qom_path": "/machine/unattached/device[0]"
       "stats": [
          { "name": "guest_mode", "value": 0 },
          { "name": "directed_yield_successful", "value": 0 },
          { "name": "directed_yield_attempted", "value": 106 },
          ... ] },
     { "provider": "kvm",
       "qom_path": "/machine/unattached/device[1]"
       "stats": [
          { "name": "guest_mode", "value": 0 },
          { "name": "directed_yield_successful", "value": 0 },
          { "name": "directed_yield_attempted", "value": 106 },
          ... ] },
] }

- Retrieve the schemas:

{ "execute": "query-stats-schemas" }

{ "return": [
    { "provider": "kvm",
      "target": "vcpu",
      "stats": [
         { "name": "guest_mode",
           "unit": "none",
           "base": 10,
           "exponent": 0,
           "type": "instant" },
        { "name": "directed_yield_successful",
           "unit": "none",
           "base": 10,
           "exponent": 0,
           "type": "cumulative" },
        ... ]
    },
    { "provider": "kvm",
      "target": "vm",
      "stats": [
        { "name": "max_mmu_page_hash_collisions",
           "unit": "none",
           "base": 10,
           "exponent": 0,
           "type": "peak" },
        ... ]
    },
    { "provider": "xyz",
      "target": "vm",
      "stats": [ ... ]
    }
] }

Signed-off-by: Mark Kanda <mark.kanda@oracle.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: cc01a3f4cadd91e63c4ebf9774069321afd8a4e0
      
https://github.com/qemu/qemu/commit/cc01a3f4cadd91e63c4ebf9774069321afd8a4e0
  Author: Mark Kanda <mark.kanda@oracle.com>
  Date:   2022-06-14 (Tue, 14 Jun 2022)

  Changed paths:
    M accel/kvm/kvm-all.c
    M qapi/stats.json

  Log Message:
  -----------
  kvm: Support for querying fd-based stats

Add support for querying fd-based KVM stats - as introduced by Linux kernel
commit:

cb082bfab59a ("KVM: stats: Add fd-based API to read binary stats data")

This allows the user to analyze the behavior of the VM without access
to debugfs.

Signed-off-by: Mark Kanda <mark.kanda@oracle.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 467ef823d83ed7ba68cc92e1a23938726b8c4e9d
      
https://github.com/qemu/qemu/commit/467ef823d83ed7ba68cc92e1a23938726b8c4e9d
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2022-06-14 (Tue, 14 Jun 2022)

  Changed paths:
    M accel/kvm/kvm-all.c
    M include/monitor/stats.h
    M monitor/qmp-cmds.c
    M qapi/stats.json

  Log Message:
  -----------
  qmp: add filtering of statistics by target vCPU

Introduce a simple filtering of statistics, that allows to retrieve
statistics for a subset of the guest vCPUs.  This will be used for
example by the HMP monitor, in order to retrieve the statistics
for the currently selected CPU.

Example:
{ "execute": "query-stats",
  "arguments": {
    "target": "vcpu",
    "vcpus": [ "/machine/unattached/device[2]",
               "/machine/unattached/device[4]" ] } }

Extracted from a patch by Mark Kanda.

Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: cfb344892209783a600e80053dba1cfeee4bd16a
      
https://github.com/qemu/qemu/commit/cfb344892209783a600e80053dba1cfeee4bd16a
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2022-06-14 (Tue, 14 Jun 2022)

  Changed paths:
    M include/qemu/cutils.h
    M tests/unit/test-cutils.c
    M util/cutils.c

  Log Message:
  -----------
  cutils: add functions for IEC and SI prefixes

Extract the knowledge of IEC and SI prefixes out of size_to_str and
freq_to_str, so that it can be reused when printing statistics.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 433815f5bdf71b5b2c47d9f1104816b95b551c49
      
https://github.com/qemu/qemu/commit/433815f5bdf71b5b2c47d9f1104816b95b551c49
  Author: Mark Kanda <mark.kanda@oracle.com>
  Date:   2022-06-14 (Tue, 14 Jun 2022)

  Changed paths:
    M hmp-commands-info.hx
    M include/monitor/hmp.h
    M monitor/hmp-cmds.c

  Log Message:
  -----------
  hmp: add basic "info stats" implementation

Add an HMP command to retrieve statistics collected at run-time.
The command will retrieve and print either all VM-level statistics,
or all vCPU-level statistics for the currently selected CPU.

Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 068cc51d42f771d2a453d628c10e199e7d104edd
      
https://github.com/qemu/qemu/commit/068cc51d42f771d2a453d628c10e199e7d104edd
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2022-06-14 (Tue, 14 Jun 2022)

  Changed paths:
    M accel/kvm/kvm-all.c
    M include/monitor/stats.h
    M monitor/hmp-cmds.c
    M monitor/qmp-cmds.c
    M qapi/stats.json

  Log Message:
  -----------
  qmp: add filtering of statistics by provider

Allow retrieving the statistics from a specific provider only.
This can be used in the future by HMP commands such as "info
sync-profile" or "info profile".  The next patch also adds
filter-by-provider capabilities to the HMP equivalent of
query-stats, "info stats".

Example:

{ "execute": "query-stats",
  "arguments": {
    "target": "vm",
    "providers": [
      { "provider": "kvm" } ] } }

The QAPI is a bit more verbose than just a list of StatsProvider,
so that it can be subsequently extended with filtering of statistics
by name.

If a provider is specified more than once in the filter, each request
will be included separately in the output.

Extracted from a patch by Mark Kanda.

Reviewed-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 7716417eac82b319b204f29224ffe1a6d2c0668a
      
https://github.com/qemu/qemu/commit/7716417eac82b319b204f29224ffe1a6d2c0668a
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2022-06-14 (Tue, 14 Jun 2022)

  Changed paths:
    M hmp-commands-info.hx
    M monitor/hmp-cmds.c

  Log Message:
  -----------
  hmp: add filtering of statistics by provider

Allow the user to request statistics for a single provider of interest.
Extracted from a patch by Mark Kanda.

Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: cf7405bc0228c795557e19bacbaa3b145bb17370
      
https://github.com/qemu/qemu/commit/cf7405bc0228c795557e19bacbaa3b145bb17370
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2022-06-14 (Tue, 14 Jun 2022)

  Changed paths:
    M accel/kvm/kvm-all.c
    M include/monitor/stats.h
    M monitor/qmp-cmds.c
    M qapi/stats.json

  Log Message:
  -----------
  qmp: add filtering of statistics by name

Allow retrieving only a subset of statistics.  This can be useful
for example in order to plot a subset of the statistics many times
a second: KVM publishes ~40 statistics for each vCPU on x86; retrieving
and serializing all of them would be useless.

Another use will be in HMP in the following patch; implementing the
filter in the backend is easy enough that it was deemed okay to make
this a public interface.

Example:

{ "execute": "query-stats",
  "arguments": {
    "target": "vcpu",
    "vcpus": [ "/machine/unattached/device[2]",
               "/machine/unattached/device[4]" ],
    "providers": [
      { "provider": "kvm",
        "names": [ "l1d_flush", "exits" ] } } }

{ "return": {
    "vcpus": [
      { "path": "/machine/unattached/device[2]"
        "providers": [
          { "provider": "kvm",
            "stats": [ { "name": "l1d_flush", "value": 41213 },
                       { "name": "exits", "value": 74291 } ] } ] },
      { "path": "/machine/unattached/device[4]"
        "providers": [
          { "provider": "kvm",
            "stats": [ { "name": "l1d_flush", "value": 16132 },
                       { "name": "exits", "value": 57922 } ] } ] } ] } }

Extracted from a patch by Mark Kanda.

Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 39cd0c7f12883ea99c3b321d836cb63b67352621
      
https://github.com/qemu/qemu/commit/39cd0c7f12883ea99c3b321d836cb63b67352621
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2022-06-14 (Tue, 14 Jun 2022)

  Changed paths:
    M hmp-commands-info.hx
    M monitor/hmp-cmds.c

  Log Message:
  -----------
  hmp: add filtering of statistics by name

Allow the user to request only a specific subset of statistics.
This can be useful when working on a feature or optimization that is
known to affect that statistic.

Example:

   (qemu) info stats vcpu halt_poll_fail_ns
   provider: kvm
       halt_poll_fail_ns (cumulative, ns): 0

In case multiple providers have the same statistic, the provider can be
specified too:

   (qemu) info stats vcpu halt_poll_fail_ns kvm
   provider: kvm
       halt_poll_fail_ns (cumulative, ns): 0

Extracted from a patch by Mark Kanda.

Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: f55ba8018c60958fa138e251456b0e6fab5e7e63
      
https://github.com/qemu/qemu/commit/f55ba8018c60958fa138e251456b0e6fab5e7e63
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2022-06-14 (Tue, 14 Jun 2022)

  Changed paths:
    M hmp-commands.hx
    M qapi/block-core.json
    M qapi/block-export.json
    M qapi/block.json

  Log Message:
  -----------
  block: add more commands to preconfig mode

Of the block device commands, those that are available outside system
emulators do not require a fully constructed machine by definition.
Allow running them before machine initialization has concluded.

Of the ones that are available inside system emulation, allow querying
the PR managers, and setting up accounting and throttling.

Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 997340f3c5190a311902eeaabd9413434e97ff4c
      
https://github.com/qemu/qemu/commit/997340f3c5190a311902eeaabd9413434e97ff4c
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2022-06-14 (Tue, 14 Jun 2022)

  Changed paths:
    M hw/s390x/virtio-ccw.c

  Log Message:
  -----------
  s390x: simplify virtio_ccw_reset_virtio

Call virtio_bus_reset instead of virtio_reset, so that the function
need not receive the VirtIODevice.

Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: a44bed2f54185b795d8d8141bd810b554bcb750b
      
https://github.com/qemu/qemu/commit/a44bed2f54185b795d8d8141bd810b554bcb750b
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2022-06-14 (Tue, 14 Jun 2022)

  Changed paths:
    M hw/virtio/virtio-mmio.c

  Log Message:
  -----------
  virtio-mmio: stop ioeventfd on legacy reset

If the queue PFN is set to zero on a virtio-mmio device, the device is reset.
In that case however the virtio_bus_stop_ioeventfd function was not
called; add it so that the behavior is similar to when status is set to 0.

Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 9e43a83041ab0e334425c7a1f2309453011224ec
      
https://github.com/qemu/qemu/commit/9e43a83041ab0e334425c7a1f2309453011224ec
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2022-06-14 (Tue, 14 Jun 2022)

  Changed paths:
    M hw/s390x/virtio-ccw.c
    M hw/virtio/virtio-bus.c
    M hw/virtio/virtio-mmio.c
    M hw/virtio/virtio-pci.c

  Log Message:
  -----------
  virtio: stop ioeventfd on reset

All calls to virtio_bus_reset are preceded by virtio_bus_stop_ioeventfd,
move the call in virtio_bus_reset: that makes sense and clarifies
that the vdc->reset function is called with ioeventfd already stopped.

Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 26cfd679816a515bb50eeda151e706244633a62b
      
https://github.com/qemu/qemu/commit/26cfd679816a515bb50eeda151e706244633a62b
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2022-06-14 (Tue, 14 Jun 2022)

  Changed paths:
    M hw/virtio/virtio-mmio.c

  Log Message:
  -----------
  virtio-mmio: cleanup reset

Make virtio_mmio_soft_reset reset the virtio device, which is performed by
both the "soft" and the "hard" reset; and then call virtio_mmio_soft_reset
from virtio_mmio_reset to emphasize that the latter is a superset of the
former.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: b5569e5b56d66e48695486f889fce36a3b502e91
      
https://github.com/qemu/qemu/commit/b5569e5b56d66e48695486f889fce36a3b502e91
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2022-06-14 (Tue, 14 Jun 2022)

  Changed paths:
    M configure

  Log Message:
  -----------
  configure: update list of preserved environment variables

INSTALL and LIBTOOL are not used anymore, but OBJCFLAGS is new and
was not listed.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: b9eae9efae4ba63af823f3c27d1bd421a4f4f092
      
https://github.com/qemu/qemu/commit/b9eae9efae4ba63af823f3c27d1bd421a4f4f092
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2022-06-15 (Wed, 15 Jun 2022)

  Changed paths:
    M configure

  Log Message:
  -----------
  configure: cleanup -fno-pie detection

Place it only inside the 'if test "$pie" = "no"' conditional.  Since
commit 43924d1e53 ("pc-bios/optionrom: detect -fno-pie", 2022-05-12),
the PIE options are detected independently by pc-bios/optionrom/Makefile,
and the CFLAGS_NOPIE/LDFLAGS_NOPIE variables are not used anymore.

Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 39735a914d577284edc9c6be8df7fb280530c021
      
https://github.com/qemu/qemu/commit/39735a914d577284edc9c6be8df7fb280530c021
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2022-06-15 (Wed, 15 Jun 2022)

  Changed paths:
    M tests/vm/Makefile.include

  Log Message:
  -----------
  tests/vm: allow running tests in an unconfigured source tree

tests/vm/Makefile.include used to assume that it could run in an unconfigured
source tree, and Cirrus CI relies on that.  It was however broken by commit
f4c66f1705 ("tests: use tests/venv to run basevm.py-based scripts", 2022-06-06),
which co-opted the virtual environment being used by avocado tests
to also run the basevm.py tests.

For now, reintroduce the usage of qemu.qmp from the source directory, but
without the sys.path() hacks.  The CI configuration can be changed to
install the package via pip when qemu.qmp is removed from the source tree.

Cc: John Snow <jsnow@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: aa4f3a3b880e9b2109e4b0baeb36cce3e1732159
      
https://github.com/qemu/qemu/commit/aa4f3a3b880e9b2109e4b0baeb36cce3e1732159
  Author: Alexander Bulekov <alxndr@bu.edu>
  Date:   2022-06-15 (Wed, 15 Jun 2022)

  Changed paths:
    M meson.build

  Log Message:
  -----------
  build: fix check for -fsanitize-coverage-allowlist

The existing check has two problems:
1. Meson uses a private directory for the get_supported_arguments check.
./instrumentation-filter does not exist in that private directory (it is
copied into the root of the build-directory).

2. fsanitize-coverage-allowlist is unused when coverage instrumentation
is not configured. No instrumentation are passed for the
get_supported_arguments check

Thus the check always fails. To work around this, change the check to an
"if cc.compiles" check and provide /dev/null, instead of the real
filter.

Meson log:
Working directory:  build/meson-private/tmpl6wld2d9
Command line:  clang-13 -m64 -mcx16
build/meson-private/tmpl6wld2d9/output.obj -c -O3 -D_FILE_OFFSET_BITS=64
-O0 -Werror=implicit-function-declaration -Werror=unknown-warning-option
-Werror=unused-command-line-argument
-Werror=ignored-optimization-argument
-fsanitize-coverage-allowlist=instrumentation-filter

Error:
error: argument unused during compilation:
'-fsanitize-coverage-allowlist=instrumentation-filter'

Signed-off-by: Alexander Bulekov <alxndr@bu.edu>
Message-Id: <20220614155415.4023833-1-alxndr@bu.edu>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 766a9814749e35b1e4537f8a6ba71ab202ce5709
      
https://github.com/qemu/qemu/commit/766a9814749e35b1e4537f8a6ba71ab202ce5709
  Author: Zhenzhong Duan <zhenzhong.duan@intel.com>
  Date:   2022-06-15 (Wed, 15 Jun 2022)

  Changed paths:
    M hw/pci-host/q35.c

  Log Message:
  -----------
  q35:Enable TSEG only when G_SMRAME and TSEG_EN both enabled

According to spec:
"TSEG Enable (T_EN): Enabling of SMRAM memory for Extended SMRAM space
only. When G_SMRAME = 1 and TSEG_EN = 1, the TSEG is enabled to appear
in the appropriate physical address space. Note that once D_LCK is set,
this bit becomes read only."

Changed to match the spec description.

Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Message-Id: <20220615034501.2733802-1-zhenzhong.duan@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 12640f05eb3117776162545864275949d722350f
      
https://github.com/qemu/qemu/commit/12640f05eb3117776162545864275949d722350f
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2022-06-15 (Wed, 15 Jun 2022)

  Changed paths:
    M meson.build

  Log Message:
  -----------
  meson: put cross compiler info in a separate section

While at it, remove a dead assignment and simply inline the value of the
"target" variable, which is used just once.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: 76ca98b0f85222601bd449252ac71df19e0dab29
      
https://github.com/qemu/qemu/commit/76ca98b0f85222601bd449252ac71df19e0dab29
  Author: Paolo Bonzini <pbonzini@redhat.com>
  Date:   2022-06-15 (Wed, 15 Jun 2022)

  Changed paths:
    M Makefile
    M configure

  Log Message:
  -----------
  build: include pc-bios/ part in the ROMS variable

Include the full path in TARGET_DIR, so that messages from sub-Makefiles
are clearer.  Also, prepare for possibly building firmware outside
pc-bios/ from the Makefile,

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>


  Commit: def6fd6c9ce9e00a30cdd0066e0fde206b3f3d2f
      
https://github.com/qemu/qemu/commit/def6fd6c9ce9e00a30cdd0066e0fde206b3f3d2f
  Author: Richard Henderson <richard.henderson@linaro.org>
  Date:   2022-06-16 (Thu, 16 Jun 2022)

  Changed paths:
    M Makefile
    M accel/kvm/kvm-all.c
    M configure
    M hmp-commands-info.hx
    M hmp-commands.hx
    M hw/pci-host/q35.c
    M hw/s390x/virtio-ccw.c
    M hw/virtio/virtio-bus.c
    M hw/virtio/virtio-mmio.c
    M hw/virtio/virtio-pci.c
    M include/monitor/hmp.h
    A include/monitor/stats.h
    M include/qemu/cutils.h
    M meson.build
    M monitor/hmp-cmds.c
    M monitor/qmp-cmds.c
    M qapi/block-core.json
    M qapi/block-export.json
    M qapi/block.json
    M qapi/meson.build
    M qapi/qapi-schema.json
    A qapi/stats.json
    M tests/unit/test-cutils.c
    M tests/vm/Makefile.include
    M util/cutils.c

  Log Message:
  -----------
  Merge tag 'for-upstream' of https://gitlab.com/bonzini/qemu into staging

* statistics subsystem
* virtio reset cleanups
* build system cleanups
* fix Cirrus CI

# -----BEGIN PGP SIGNATURE-----
#
# iQFIBAABCAAyFiEE8TM4V0tmI4mGbHaCv/vSX3jHroMFAmKpooQUHHBib256aW5p
# QHJlZGhhdC5jb20ACgkQv/vSX3jHroNlFwf+OugLGRZl3KVc7akQwUJe9gg2T31h
# VkC+7Tei8FAwe8vDppVd+CYEIi0M3acxD2amRrv2etCCGSuySN1PbkfRcSfPBX01
# pRWpasdhfqnZR8Iidi7YW1Ou5CcGqKH49nunBhW10+osb/mu5sVscMuOJgTDj/lK
# CpsmDyk6572yGmczjNLlmhYcTU36clHpAZgazZHwk1PU+B3fCKlYYyvUpT3ItJvd
# cK92aIUWrfofl3yTy0k4IwvZwNjTBirlstOIomZ333xzSA+mm5TR+mTvGRTZ69+a
# v+snpMp4ILDMoB5kxQ42kK5WpdiN//LnriA9CBFDtOidsDDn8kx7gJe2RA==
# =Dxwa
# -----END PGP SIGNATURE-----
# gpg: Signature made Wed 15 Jun 2022 02:12:36 AM PDT
# gpg:                using RSA key F13338574B662389866C7682BFFBD25F78C7AE83
# gpg:                issuer "pbonzini@redhat.com"
# gpg: Good signature from "Paolo Bonzini <bonzini@gnu.org>" [undefined]
# gpg:                 aka "Paolo Bonzini <pbonzini@redhat.com>" [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: 46F5 9FBD 57D6 12E7 BFD4  E2F7 7E15 100C CD36 69B1
#      Subkey fingerprint: F133 3857 4B66 2389 866C  7682 BFFB D25F 78C7 AE83

* tag 'for-upstream' of https://gitlab.com/bonzini/qemu: (21 commits)
  build: include pc-bios/ part in the ROMS variable
  meson: put cross compiler info in a separate section
  q35:Enable TSEG only when G_SMRAME and TSEG_EN both enabled
  build: fix check for -fsanitize-coverage-allowlist
  tests/vm: allow running tests in an unconfigured source tree
  configure: cleanup -fno-pie detection
  configure: update list of preserved environment variables
  virtio-mmio: cleanup reset
  virtio: stop ioeventfd on reset
  virtio-mmio: stop ioeventfd on legacy reset
  s390x: simplify virtio_ccw_reset_virtio
  block: add more commands to preconfig mode
  hmp: add filtering of statistics by name
  qmp: add filtering of statistics by name
  hmp: add filtering of statistics by provider
  qmp: add filtering of statistics by provider
  hmp: add basic "info stats" implementation
  cutils: add functions for IEC and SI prefixes
  qmp: add filtering of statistics by target vCPU
  kvm: Support for querying fd-based stats
  ...

Signed-off-by: Richard Henderson <richard.henderson@linaro.org>


Compare: https://github.com/qemu/qemu/compare/9ac873a46963...def6fd6c9ce9



reply via email to

[Prev in Thread] Current Thread [Next in Thread]