qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Alberto Garcia <berto@igalia.com>
To: qemu-devel@nongnu.org
Cc: Kevin Wolf <kwolf@redhat.com>, Alberto Garcia <berto@igalia.com>,
	qemu-block@nongnu.org, Markus Armbruster <armbru@redhat.com>,
	Max Reitz <mreitz@redhat.com>,
	Stefan Hajnoczi <stefanha@redhat.com>
Subject: [Qemu-devel] [PATCH v3 00/21] Extended I/O accounting
Date: Thu, 22 Oct 2015 11:11:10 +0300	[thread overview]
Message-ID: <cover.1445500464.git.berto@igalia.com> (raw)

Here's a new version of the extended I/O accounting patches.

This one is rebased on top of the current master, has a few minor
documentation fixes and drops the 'supports_stats' field completely.

Regards,

Berto

v3:
- Rebased on top of the current master and on Max's BlockBackend
  series v7
- patch 4: minor documentation fixes
- patch 5: s/miliseconds/nanoseconds/
- patch 6: dropped, there's no "supports_stats" anymore
- patch 7 (now 6): explain why block_acct_invalid() does not update
          total_time_ns[]
- patch 12 (now 11): don't initialize BlockAcctCookie to { 0 }, it's
           not needed

v2: https://lists.gnu.org/archive/html/qemu-block/2015-10/msg00161.html
- First complete implementation of the new statistics

v1: https://lists.gnu.org/archive/html/qemu-devel/2015-06/msg03321.html
- Initial series containing only the timed average infrastructure.

Alberto Garcia (21):
  xen_disk: Account for flush operations
  ide: Account for write operations correctly
  block: define 'clock_type' for the accounting code
  util: Infrastructure for computing recent averages
  block: Add idle_time_ns to BlockDeviceStats
  block: Add statistics for failed and invalid I/O operations
  block: Allow configuring whether to account failed and invalid ops
  block: Compute minimum, maximum and average I/O latencies
  block: Add average I/O queue depth to BlockDeviceTimedStats
  block: New option to define the intervals for collecting I/O
    statistics
  qemu-io: Account for failed, invalid and flush operations
  block: Use QEMU_CLOCK_VIRTUAL for the accounting code in qtest mode
  iotests: Add test for the block device statistics
  nvme: Account for failed and invalid operations
  virtio-blk: Account for failed and invalid operations
  xen_disk: Account for failed and invalid operations
  atapi: Account for failed and invalid operations
  ide: Account for failed and invalid operations
  macio: Account for failed operations
  scsi-disk: Account for failed operations
  block: Update copyright of the accounting code

 block/accounting.c           | 123 ++++++++++++++-
 block/block-backend.c        |   1 +
 block/qapi.c                 |  51 +++++++
 blockdev.c                   |  53 +++++++
 hmp.c                        |   4 +-
 hw/block/nvme.c              |  11 +-
 hw/block/virtio-blk.c        |   4 +-
 hw/block/xen_disk.c          |  27 +++-
 hw/ide/atapi.c               |  31 ++--
 hw/ide/core.c                |  12 +-
 hw/ide/macio.c               |  12 +-
 hw/scsi/scsi-disk.c          |  46 ++++--
 include/block/accounting.h   |  28 ++++
 include/qemu/timed-average.h |  64 ++++++++
 qapi/block-core.json         | 103 ++++++++++++-
 qemu-io-cmds.c               |   9 ++
 qmp-commands.hx              |  80 +++++++++-
 tests/Makefile               |   4 +
 tests/qemu-iotests/136       | 349 +++++++++++++++++++++++++++++++++++++++++++
 tests/qemu-iotests/136.out   |   5 +
 tests/qemu-iotests/group     |   1 +
 tests/test-timed-average.c   |  90 +++++++++++
 util/Makefile.objs           |   1 +
 util/timed-average.c         | 227 ++++++++++++++++++++++++++++
 24 files changed, 1288 insertions(+), 48 deletions(-)
 create mode 100644 include/qemu/timed-average.h
 create mode 100644 tests/qemu-iotests/136
 create mode 100644 tests/qemu-iotests/136.out
 create mode 100644 tests/test-timed-average.c
 create mode 100644 util/timed-average.c

-- 
2.6.1

             reply	other threads:[~2015-10-22  8:12 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-10-22  8:11 Alberto Garcia [this message]
2015-10-22  8:11 ` [Qemu-devel] [PATCH v3 01/21] xen_disk: Account for flush operations Alberto Garcia
2015-10-22  8:11 ` [Qemu-devel] [PATCH v3 02/21] ide: Account for write operations correctly Alberto Garcia
2015-10-22  8:11 ` [Qemu-devel] [PATCH v3 03/21] block: define 'clock_type' for the accounting code Alberto Garcia
2015-10-22  8:11 ` [Qemu-devel] [PATCH v3 04/21] util: Infrastructure for computing recent averages Alberto Garcia
2015-10-22  8:11 ` [Qemu-devel] [PATCH v3 05/21] block: Add idle_time_ns to BlockDeviceStats Alberto Garcia
2015-10-22  8:11 ` [Qemu-devel] [PATCH v3 06/21] block: Add statistics for failed and invalid I/O operations Alberto Garcia
2015-10-22  8:11 ` [Qemu-devel] [PATCH v3 07/21] block: Allow configuring whether to account failed and invalid ops Alberto Garcia
2015-10-22  8:11 ` [Qemu-devel] [PATCH v3 08/21] block: Compute minimum, maximum and average I/O latencies Alberto Garcia
2015-10-23 13:23   ` Stefan Hajnoczi
2015-10-22  8:11 ` [Qemu-devel] [PATCH v3 09/21] block: Add average I/O queue depth to BlockDeviceTimedStats Alberto Garcia
2015-10-23 13:31   ` Stefan Hajnoczi
2015-10-23 13:47     ` Alberto Garcia
2015-10-22  8:11 ` [Qemu-devel] [PATCH v3 10/21] block: New option to define the intervals for collecting I/O statistics Alberto Garcia
2015-10-22  8:11 ` [Qemu-devel] [PATCH v3 11/21] qemu-io: Account for failed, invalid and flush operations Alberto Garcia
2015-10-22  8:11 ` [Qemu-devel] [PATCH v3 12/21] block: Use QEMU_CLOCK_VIRTUAL for the accounting code in qtest mode Alberto Garcia
2015-10-22  8:11 ` [Qemu-devel] [PATCH v3 13/21] iotests: Add test for the block device statistics Alberto Garcia
2015-10-22  8:11 ` [Qemu-devel] [PATCH v3 14/21] nvme: Account for failed and invalid operations Alberto Garcia
2015-10-22  8:11 ` [Qemu-devel] [PATCH v3 15/21] virtio-blk: " Alberto Garcia
2015-10-22  8:11 ` [Qemu-devel] [PATCH v3 16/21] xen_disk: " Alberto Garcia
2015-10-22  8:11 ` [Qemu-devel] [PATCH v3 17/21] atapi: " Alberto Garcia
2015-10-22  8:11 ` [Qemu-devel] [PATCH v3 18/21] ide: " Alberto Garcia
2015-10-22  8:11 ` [Qemu-devel] [PATCH v3 19/21] macio: Account for failed operations Alberto Garcia
2015-10-22  8:11 ` [Qemu-devel] [PATCH v3 20/21] scsi-disk: " Alberto Garcia
2015-10-22  8:11 ` [Qemu-devel] [PATCH v3 21/21] block: Update copyright of the accounting code Alberto Garcia
2015-10-23 14:00 ` [Qemu-devel] [PATCH v3 00/21] Extended I/O accounting Stefan Hajnoczi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=cover.1445500464.git.berto@igalia.com \
    --to=berto@igalia.com \
    --cc=armbru@redhat.com \
    --cc=kwolf@redhat.com \
    --cc=mreitz@redhat.com \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).