qemu-commits
[Top][All Lists]
Advanced

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

[Qemu-commits] [qemu/qemu] edecf5: kvm_stat: Add kvm_exit reasons for aa


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] edecf5: kvm_stat: Add kvm_exit reasons for aarch64
Date: Wed, 25 Feb 2015 03:30:08 -0800

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: edecf5eced082cb45e213cb4e791b2fcf9f867c1
      
https://github.com/qemu/qemu/commit/edecf5eced082cb45e213cb4e791b2fcf9f867c1
  Author: Wei Huang <address@hidden>
  Date:   2015-02-11 (Wed, 11 Feb 2015)

  Changed paths:
    M scripts/kvm/kvm_stat

  Log Message:
  -----------
  kvm_stat: Add kvm_exit reasons for aarch64

This patch defines the list of kvm_exit reasons for aarch64. This list is
based on the Exception Class (EC) field of HSR register. With this patch
users can trace the execution of guest VMs better. A sample output from
command "kvm_stat -1 -t" is shown as the following:
<...>
kvm_exit(WATCHPT_HYP)          0         0
kvm_exit(WFI)               9422      9361

NOTE: This patch requires TRACE_EVENT(kvm_exit) to include exit_reason
field in TP_ARGS. A patch to upstream kernel has been submitted.

Signed-off-by: Wei Huang <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 0be63901d2a33a6ed25caa5df3f530df75338f6a
      
https://github.com/qemu/qemu/commit/0be63901d2a33a6ed25caa5df3f530df75338f6a
  Author: Gonglei <address@hidden>
  Date:   2015-02-11 (Wed, 11 Feb 2015)

  Changed paths:
    M bootdevice.c
    M hw/core/qdev.c
    M include/hw/qdev-core.h

  Log Message:
  -----------
  qdev: support to get a device firmware path directly

commit 6b1566c (qdev: Introduce FWPathProvider interface) did a
good job for supproting to get firmware path on some different
architectures.

Moreover further more, we can use the interface to get firmware
path name for a device which isn't attached a specific bus,
such as virtio-bus, scsi-bus etc.

When the device (such as vhost-scsi) realize the TYPE_FW_PATH_PROVIDER
interface, we should introduce a new function to get the correct firmware
path name for it.

Signed-off-by: Gonglei <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: d4433f32116dc597f895e62cde3572b400c3ee96
      
https://github.com/qemu/qemu/commit/d4433f32116dc597f895e62cde3572b400c3ee96
  Author: Gonglei <address@hidden>
  Date:   2015-02-11 (Wed, 11 Feb 2015)

  Changed paths:
    M hw/scsi/vhost-scsi.c
    M hw/virtio/virtio-pci.c
    M include/hw/virtio/vhost-scsi.h

  Log Message:
  -----------
  vhost-scsi: add bootindex property

Signed-off-by: Gonglei <address@hidden>
Acked-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 1956cf6fa1039647327ef333dc09b43775907305
      
https://github.com/qemu/qemu/commit/1956cf6fa1039647327ef333dc09b43775907305
  Author: Gonglei <address@hidden>
  Date:   2015-02-11 (Wed, 11 Feb 2015)

  Changed paths:
    M hw/scsi/vhost-scsi.c
    M include/hw/virtio/vhost-scsi.h

  Log Message:
  -----------
  vhost-scsi: expose the TYPE_FW_PATH_PROVIDER interface

In the way, we can make the bootindex property take effect.
At the meanwhile, the firmware path name of vhost-scsi is
"address@hidden/address@hidden,lun".

Signed-off-by: Gonglei <address@hidden>
Acked-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 9143d5f0f14c1eef92a362b3b976606ad2874daa
      
https://github.com/qemu/qemu/commit/9143d5f0f14c1eef92a362b3b976606ad2874daa
  Author: Gonglei <address@hidden>
  Date:   2015-02-11 (Wed, 11 Feb 2015)

  Changed paths:
    M include/hw/virtio/vhost-scsi.h
    M include/hw/virtio/virtio-scsi.h

  Log Message:
  -----------
  vhost-scsi: add a property for booting

Because Qemu only accept an wwpn argument for vhost-scsi, we
cannot assign a tpgt. That's say tpg is transparent for Qemu, Qemu
doesn't know which tpg can boot, but vhost-scsi driver module
doesn't know too for one assigned wwpn.

At present, we assume that the first tpg can boot only, and add
a boot_tpgt property that defaults to 0. Of course, people can
pass a valid value by qemu command line.

Suggested-by: Paolo Bonzini <address@hidden>
Signed-off-by: Gonglei <address@hidden>
Acked-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 444c7e0d92b5eb35fb85dc654f4bd991b0d3a0f2
      
https://github.com/qemu/qemu/commit/444c7e0d92b5eb35fb85dc654f4bd991b0d3a0f2
  Author: Gonglei <address@hidden>
  Date:   2015-02-11 (Wed, 11 Feb 2015)

  Changed paths:
    M hw/scsi/vhost-scsi.c

  Log Message:
  -----------
  vhost-scsi: set the bootable value of channel/target/lun

At present, the target is valued boot_tpgt, In addition,
channel and lun both are 0 for bootable vhost-scsi device.

Signed-off-by: Gonglei <address@hidden>
Signed-off-by: Bo Su <address@hidden>
Acked-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: a7d1d636797ec1b30ca4dae02f9e1eb2d6b2c439
      
https://github.com/qemu/qemu/commit/a7d1d636797ec1b30ca4dae02f9e1eb2d6b2c439
  Author: Paolo Bonzini <address@hidden>
  Date:   2015-02-11 (Wed, 11 Feb 2015)

  Changed paths:
    M util/rcu.c

  Log Message:
  -----------
  rcu: do not let RCU callbacks pile up indefinitely

Always process them within a short time.  Even though waiting a little
is useful, it is not okay to delay e.g. qemu_opts_del forever.

Reviewed-by: Michael Roth <address@hidden>
Tested-by: Michael Roth <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: a464982499b2f637f6699e3d03e0a9d2e0b5288b
      
https://github.com/qemu/qemu/commit/a464982499b2f637f6699e3d03e0a9d2e0b5288b
  Author: Paolo Bonzini <address@hidden>
  Date:   2015-02-11 (Wed, 11 Feb 2015)

  Changed paths:
    M tests/Makefile
    M util/rcu.c

  Log Message:
  -----------
  rcu: run RCU callbacks under the BQL

This needs to go away sooner or later, but one complication is the
complex VFIO data structures that are modified in instance_finalize.
Take a shortcut for now.

Reviewed-by: Michael Roth <address@hidden>
Tested-by: Michael Roth <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: ac95190ea92f7625bb0065c2864321607b95c26b
      
https://github.com/qemu/qemu/commit/ac95190ea92f7625bb0065c2864321607b95c26b
  Author: Paolo Bonzini <address@hidden>
  Date:   2015-02-11 (Wed, 11 Feb 2015)

  Changed paths:
    M memory.c

  Log Message:
  -----------
  memory: keep the owner of the AddressSpace alive until 
do_address_space_destroy

This fixes a use-after-free if do_address_space_destroy is executed
too late.

Reviewed-by: Michael Roth <address@hidden>
Tested-by: Michael Roth <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 3a8f2a9ce51036ab2d25bcc31114b5cbb72ab44b
      
https://github.com/qemu/qemu/commit/3a8f2a9ce51036ab2d25bcc31114b5cbb72ab44b
  Author: Paolo Bonzini <address@hidden>
  Date:   2015-02-16 (Mon, 16 Feb 2015)

  Changed paths:
    M hw/pci/pcie_host.c

  Log Message:
  -----------
  pcie: remove mmconfig memory leak and wrap mmconfig update with transaction

This memory leak was introduced inadvertently by omitting object_unparent.
A better fix is to use the new memory_region_set_size instead of destroying
and recreating the MMIO region on the fly.

Also, ensure that unmapping and remapping the region is done atomically.

Acked-by: Michael S. Tsirkin <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Reviewed-by: Igor Mammedov <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 5cd5e7015962d8d559afb5154888fd34a8526ddd
      
https://github.com/qemu/qemu/commit/5cd5e7015962d8d559afb5154888fd34a8526ddd
  Author: Paolo Bonzini <address@hidden>
  Date:   2015-02-16 (Mon, 16 Feb 2015)

  Changed paths:
    M hw/pci-bridge/pci_bridge_dev.c
    M hw/pci/shpc.c
    M include/hw/pci/shpc.h

  Log Message:
  -----------
  pci: split shpc_cleanup and shpc_free

object_unparent should not be called until the parent device is going to be
destroyed.  Only remove the capability and do memory_region_del_subregion
at unrealize time.  Freeing the data structures is left in shpc_free, to
be called from the instance_finalize callback.

Acked-by: Michael S. Tsirkin <address@hidden>
Reviewed-by: Matthew Rosato <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 8b5c216025c312ab01542c4595393e0fdcbed015
      
https://github.com/qemu/qemu/commit/8b5c216025c312ab01542c4595393e0fdcbed015
  Author: Paolo Bonzini <address@hidden>
  Date:   2015-02-16 (Mon, 16 Feb 2015)

  Changed paths:
    M docs/memory.txt

  Log Message:
  -----------
  docs: clarify memory region lifecycle

Now that objects actually obey the rules, document them.

Reviewed-by: Matthew Rosato <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 76e5c76f2e2e0d20bab2cd5c7a87452f711654fb
      
https://github.com/qemu/qemu/commit/76e5c76f2e2e0d20bab2cd5c7a87452f711654fb
  Author: Paolo Bonzini <address@hidden>
  Date:   2015-02-16 (Mon, 16 Feb 2015)

  Changed paths:
    M cpu-exec.c
    M exec.c
    M include/exec/exec-all.h

  Log Message:
  -----------
  exec: introduce cpu_reload_memory_map

This for now is a simple TLB flush.  This can change later for two
reasons:

1) an AddressSpaceDispatch will be cached in the CPUState object

2) it will not be possible to do tlb_flush once the TCG-generated code
runs outside the BQL.

Reviewed-by: Fam Zheng <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 9d82b5a792236db31a75b9db5c93af69ac07c7c5
      
https://github.com/qemu/qemu/commit/9d82b5a792236db31a75b9db5c93af69ac07c7c5
  Author: Paolo Bonzini <address@hidden>
  Date:   2015-02-16 (Mon, 16 Feb 2015)

  Changed paths:
    M cpu-exec.c
    M cputlb.c
    M exec.c
    M include/exec/cputlb.h
    M include/exec/exec-all.h
    M include/qom/cpu.h
    M softmmu_template.h

  Log Message:
  -----------
  exec: make iotlb RCU-friendly

After the previous patch, TLBs will be flushed on every change to
the memory mapping.  This patch augments that with synchronization
of the MemoryRegionSections referred to in the iotlb array.

With this change, it is guaranteed that iotlb_to_region will access
the correct memory map, even once the TLB will be accessed outside
the BQL.

Reviewed-by: Fam Zheng <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 79e2b9aeccedbfde762b05da662132c7fda292be
      
https://github.com/qemu/qemu/commit/79e2b9aeccedbfde762b05da662132c7fda292be
  Author: Paolo Bonzini <address@hidden>
  Date:   2015-02-16 (Mon, 16 Feb 2015)

  Changed paths:
    M cpu-exec.c
    M cpus.c
    M cputlb.c
    M exec.c
    M hw/i386/intel_iommu.c
    M hw/pci-host/apb.c
    M hw/ppc/spapr_iommu.c
    M include/exec/exec-all.h

  Log Message:
  -----------
  exec: RCUify AddressSpaceDispatch

Note that even after this patch, most callers of address_space_*
functions must still be under the big QEMU lock, otherwise the memory
region returned by address_space_translate can disappear as soon as
address_space_translate returns.  This will be fixed in the next part
of this series.

Reviewed-by: Fam Zheng <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 341774fe6ccdc0fe42fb79a4ed642e78237da428
      
https://github.com/qemu/qemu/commit/341774fe6ccdc0fe42fb79a4ed642e78237da428
  Author: Mike Day <address@hidden>
  Date:   2015-02-16 (Mon, 16 Feb 2015)

  Changed paths:
    M hw/9pfs/virtio-9p-synth.c
    M include/qemu/queue.h
    A include/qemu/rcu_queue.h
    M tests/Makefile
    A tests/test-rcu-list.c

  Log Message:
  -----------
  rcu: introduce RCU-enabled QLIST

Add RCU-enabled variants on the existing bsd DQ facility. Each
operation has the same interface as the existing (non-RCU)
version. Also, each operation is implemented as macro.

Using the RCU-enabled QLIST, existing QLIST users will be able to
convert to RCU without using a different list interface.

Signed-off-by: Mike Day <address@hidden>
Reviewed-by: Fam Zheng <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 439c5e02d59659876e1a2cf019c55e419adab195
      
https://github.com/qemu/qemu/commit/439c5e02d59659876e1a2cf019c55e419adab195
  Author: Paolo Bonzini <address@hidden>
  Date:   2015-02-16 (Mon, 16 Feb 2015)

  Changed paths:
    M docs/rcu.txt
    M include/qemu/rcu.h

  Log Message:
  -----------
  rcu: add g_free_rcu

This simplifies calling g_free from an RCU callback.

Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 43771539d4666cba16298fc6b0ea63867425277c
      
https://github.com/qemu/qemu/commit/43771539d4666cba16298fc6b0ea63867425277c
  Author: Paolo Bonzini <address@hidden>
  Date:   2015-02-16 (Mon, 16 Feb 2015)

  Changed paths:
    M exec.c
    M include/exec/cpu-all.h

  Log Message:
  -----------
  exec: protect mru_block with RCU

Hence, freeing a RAMBlock has to be switched to call_rcu.

Reviewed-by: Fam Zheng <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: ae3a7047d00cfa7ed221beda08f98487b7e17501
      
https://github.com/qemu/qemu/commit/ae3a7047d00cfa7ed221beda08f98487b7e17501
  Author: Mike Day <address@hidden>
  Date:   2015-02-16 (Mon, 16 Feb 2015)

  Changed paths:
    M arch_init.c
    M exec.c
    M include/exec/cpu-all.h

  Log Message:
  -----------
  cosmetic changes preparing for the following patches

Reviewed-by: Fam Zheng <address@hidden>
Signed-off-by: Mike Day <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 0d53d9fe8a0dcb849bc7c9836e9e6a287f9aa787
      
https://github.com/qemu/qemu/commit/0d53d9fe8a0dcb849bc7c9836e9e6a287f9aa787
  Author: Mike Day <address@hidden>
  Date:   2015-02-16 (Mon, 16 Feb 2015)

  Changed paths:
    M arch_init.c
    M exec.c
    M include/exec/cpu-all.h
    M scripts/dump-guest-memory.py

  Log Message:
  -----------
  exec: convert ram_list to QLIST

QLIST has RCU-friendly primitives, so switch to it.

Reviewed-by: Fam Zheng <address@hidden>
Signed-off-by: Mike Day <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 0dc3f44aca18b1be8b425f3f4feb4b3e8d68de2e
      
https://github.com/qemu/qemu/commit/0dc3f44aca18b1be8b425f3f4feb4b3e8d68de2e
  Author: Mike Day <address@hidden>
  Date:   2015-02-16 (Mon, 16 Feb 2015)

  Changed paths:
    M arch_init.c
    M exec.c
    M include/exec/cpu-all.h

  Log Message:
  -----------
  Convert ram_list to RCU

Allow "unlocked" reads of the ram_list by using an RCU-enabled QLIST.

The ramlist mutex is kept.  call_rcu callbacks are run with the iothread
lock taken, but that may change in the future.  Writers still take the
ramlist mutex, but they no longer need to assume that the iothread lock
is taken.

Readers of the list, instead, no longer require either the iothread
or ramlist mutex, but they need to use rcu_read_lock() and
rcu_read_unlock().

One place in arch_init.c was downgrading from write side to read side
like this:

    qemu_mutex_lock_iothread()
    qemu_mutex_lock_ramlist()
    ...
    qemu_mutex_unlock_iothread()
    ...
    qemu_mutex_unlock_ramlist()

and the equivalent idiom is:

    qemu_mutex_lock_ramlist()
    rcu_read_lock()
    ...
    qemu_mutex_unlock_ramlist()
    ...
    rcu_read_unlock()

Reviewed-by: Fam Zheng <address@hidden>
Signed-off-by: Mike Day <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>


  Commit: 73104fd399c6778112f64fe0d439319f24508d9a
      
https://github.com/qemu/qemu/commit/73104fd399c6778112f64fe0d439319f24508d9a
  Author: Peter Maydell <address@hidden>
  Date:   2015-02-24 (Tue, 24 Feb 2015)

  Changed paths:
    M arch_init.c
    M bootdevice.c
    M cpu-exec.c
    M cpus.c
    M cputlb.c
    M docs/memory.txt
    M docs/rcu.txt
    M exec.c
    M hw/9pfs/virtio-9p-synth.c
    M hw/core/qdev.c
    M hw/i386/intel_iommu.c
    M hw/pci-bridge/pci_bridge_dev.c
    M hw/pci-host/apb.c
    M hw/pci/pcie_host.c
    M hw/pci/shpc.c
    M hw/ppc/spapr_iommu.c
    M hw/scsi/vhost-scsi.c
    M hw/virtio/virtio-pci.c
    M include/exec/cpu-all.h
    M include/exec/cputlb.h
    M include/exec/exec-all.h
    M include/hw/pci/shpc.h
    M include/hw/qdev-core.h
    M include/hw/virtio/vhost-scsi.h
    M include/hw/virtio/virtio-scsi.h
    M include/qemu/queue.h
    M include/qemu/rcu.h
    A include/qemu/rcu_queue.h
    M include/qom/cpu.h
    M memory.c
    M scripts/dump-guest-memory.py
    M scripts/kvm/kvm_stat
    M softmmu_template.h
    M tests/Makefile
    A tests/test-rcu-list.c
    M util/rcu.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/bonzini/tags/for-upstream' into staging

- vhost-scsi: add bootindex property
- RCU: fix MemoryRegion lifetime issues in PCI; document the rules;
convert of AddressSpaceDispatch and RAMList
- KVM: add kvm_exit reasons for aarch64

# gpg: Signature made Mon Feb 16 16:32:32 2015 GMT using RSA key ID 78C7AE83
# gpg: Good signature from "Paolo Bonzini <address@hidden>"
# gpg:                 aka "Paolo Bonzini <address@hidden>"
# 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

* remotes/bonzini/tags/for-upstream: (21 commits)
  Convert ram_list to RCU
  exec: convert ram_list to QLIST
  cosmetic changes preparing for the following patches
  exec: protect mru_block with RCU
  rcu: add g_free_rcu
  rcu: introduce RCU-enabled QLIST
  exec: RCUify AddressSpaceDispatch
  exec: make iotlb RCU-friendly
  exec: introduce cpu_reload_memory_map
  docs: clarify memory region lifecycle
  pci: split shpc_cleanup and shpc_free
  pcie: remove mmconfig memory leak and wrap mmconfig update with transaction
  memory: keep the owner of the AddressSpace alive until 
do_address_space_destroy
  rcu: run RCU callbacks under the BQL
  rcu: do not let RCU callbacks pile up indefinitely
  vhost-scsi: set the bootable value of channel/target/lun
  vhost-scsi: add a property for booting
  vhost-scsi: expose the TYPE_FW_PATH_PROVIDER interface
  vhost-scsi: add bootindex property
  qdev: support to get a device firmware path directly
  ...

Signed-off-by: Peter Maydell <address@hidden>


Compare: https://github.com/qemu/qemu/compare/3dc10613c313...73104fd399c6

reply via email to

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