All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Rusty Russell <rusty@rustcorp.com.au>
Cc: linux-kernel@vger.kernel.org, kvm@vger.kernel.org,
	virtualization@lists.linux-foundation.org
Subject: Re: [PATCH 2/2] tools/virtio: virtio_test tool
Date: Mon, 13 Dec 2010 19:14:32 +0200	[thread overview]
Message-ID: <20101213171432.GB7182@redhat.com> (raw)
In-Reply-To: <201012061523.03108.rusty@rustcorp.com.au>

On Mon, Dec 06, 2010 at 03:23:02PM +1030, Rusty Russell wrote:
> On Tue, 30 Nov 2010 03:46:37 am Michael S. Tsirkin wrote:
> > This is the userspace part of the tool: it includes a bunch of stubs for
> > linux APIs, somewhat simular to linuxsched. This makes it possible to
> > recompile the ring code in userspace.
> > 
> > A small test example is implemented combining this with vhost_test
> > module.
> > 
> > Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
> 
> Hi Michael,
> 
>   I'm not sure what the point is of this work?  You'll still need to
> benchmark on real systems, but it's not low-level enough to measure
> things like cache misses.

The point is to be able to create easy to test workloads:
(just running the single test included here produces a
 result that seems repeatable to a high degree)
while still staying as close as possible to what we might expect in real
life.

I also want to be able to measure just the overhead of the ring,
without involving block or network core in guest and host.

In other words, it's a synthetic benchmark.

> I'm assuming you're thinking of playing with layout to measure cache
> behaviour.

In one example, using this test I saw that different publish
used index layouts don't seem to behave at all differently.

But I also saw that the extra pointer hasing
added by my publish used index patches did add
measureable overhead.

Plan to look into that.

>  I was thinking of a complete userspace implementation

The disadvantage is that any work done there needs to be
redone in real life, though. And implementation details often matter.
What I did let me actually use the virtio/vhost code that we have and see how
it performs.

> where
> either it was run under cachegrind, or each access was wrapped to allow
> tracking of cachelines to give an exact measure of cache movement

perf stat not good enough?

> under
> various scenarios (esp. ring mostly empty, ring in steady state, ring
> mostly full).

Yes, I do want to add tests to stress various scenarios.

> 
> Cheers,
> Rusty.


-- 
MST

WARNING: multiple messages have this Message-ID (diff)
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Rusty Russell <rusty@rustcorp.com.au>
Cc: virtualization@lists.linux-foundation.org, kvm@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 2/2] tools/virtio: virtio_test tool
Date: Mon, 13 Dec 2010 19:14:32 +0200	[thread overview]
Message-ID: <20101213171432.GB7182@redhat.com> (raw)
In-Reply-To: <201012061523.03108.rusty@rustcorp.com.au>

On Mon, Dec 06, 2010 at 03:23:02PM +1030, Rusty Russell wrote:
> On Tue, 30 Nov 2010 03:46:37 am Michael S. Tsirkin wrote:
> > This is the userspace part of the tool: it includes a bunch of stubs for
> > linux APIs, somewhat simular to linuxsched. This makes it possible to
> > recompile the ring code in userspace.
> > 
> > A small test example is implemented combining this with vhost_test
> > module.
> > 
> > Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
> 
> Hi Michael,
> 
>   I'm not sure what the point is of this work?  You'll still need to
> benchmark on real systems, but it's not low-level enough to measure
> things like cache misses.

The point is to be able to create easy to test workloads:
(just running the single test included here produces a
 result that seems repeatable to a high degree)
while still staying as close as possible to what we might expect in real
life.

I also want to be able to measure just the overhead of the ring,
without involving block or network core in guest and host.

In other words, it's a synthetic benchmark.

> I'm assuming you're thinking of playing with layout to measure cache
> behaviour.

In one example, using this test I saw that different publish
used index layouts don't seem to behave at all differently.

But I also saw that the extra pointer hasing
added by my publish used index patches did add
measureable overhead.

Plan to look into that.

>  I was thinking of a complete userspace implementation

The disadvantage is that any work done there needs to be
redone in real life, though. And implementation details often matter.
What I did let me actually use the virtio/vhost code that we have and see how
it performs.

> where
> either it was run under cachegrind, or each access was wrapped to allow
> tracking of cachelines to give an exact measure of cache movement

perf stat not good enough?

> under
> various scenarios (esp. ring mostly empty, ring in steady state, ring
> mostly full).

Yes, I do want to add tests to stress various scenarios.

> 
> Cheers,
> Rusty.


-- 
MST

  reply	other threads:[~2010-12-13 17:14 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-11-29 17:04 [PATCH 0/2] tools/virtio: virtio_ring testing tool Michael S. Tsirkin
2010-11-29 17:09 ` [PATCH 1/2] vhost test module Michael S. Tsirkin
2010-11-29 17:09 ` Michael S. Tsirkin
2010-12-02 19:00   ` Paul E. McKenney
2010-12-02 19:00   ` Paul E. McKenney
2010-12-02 19:11     ` Michael S. Tsirkin
2010-12-02 19:11     ` Michael S. Tsirkin
2010-12-02 19:26       ` Paul E. McKenney
2010-12-02 19:47         ` Michael S. Tsirkin
2010-12-02 19:47         ` Michael S. Tsirkin
2010-12-02 23:13           ` Paul E. McKenney
2010-12-02 23:18             ` Michael S. Tsirkin
2010-12-02 23:56               ` Paul E. McKenney
2010-12-04 18:03                 ` Paul E. McKenney
2010-12-04 18:03                 ` Paul E. McKenney
2010-12-02 23:56               ` Paul E. McKenney
2010-12-02 23:18             ` Michael S. Tsirkin
2010-12-02 23:13           ` Paul E. McKenney
2010-12-02 19:26       ` Paul E. McKenney
2010-11-29 17:16 ` [PATCH 2/2] tools/virtio: virtio_test tool Michael S. Tsirkin
2010-11-29 17:16 ` Michael S. Tsirkin
2010-12-06  4:53   ` Rusty Russell
2010-12-13 17:14     ` Michael S. Tsirkin [this message]
2010-12-13 17:14       ` Michael S. Tsirkin
2010-12-06  4:53   ` Rusty Russell
2010-12-06 16:37   ` Thiago Farina
2010-12-06 16:37   ` Thiago Farina
2010-12-13 16:58     ` Michael S. Tsirkin
2010-12-13 16:58     ` Michael S. Tsirkin
2011-09-07  3:34   ` Zhi Yong Wu
2011-09-07  3:34   ` Zhi Yong Wu

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=20101213171432.GB7182@redhat.com \
    --to=mst@redhat.com \
    --cc=kvm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rusty@rustcorp.com.au \
    --cc=virtualization@lists.linux-foundation.org \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.