All of lore.kernel.org
 help / color / mirror / Atom feed
From: Clay Andreasen <cda@cray.com>
To: Stefan Hajnoczi <stefanha@gmail.com>
Cc: "qemu-devel@nongnu.org" <qemu-devel@nongnu.org>
Subject: Re: [Qemu-devel] High speed polling
Date: Mon, 20 Jun 2011 11:54:12 -0500	[thread overview]
Message-ID: <4DFF7B34.6090005@cray.com> (raw)
In-Reply-To: <BANLkTi=yVPCKn8B0hY_ffiW8dBxaJAQFAg@mail.gmail.com>

Thank you for your reply.
I am still a novice with Qemu so pardon me if I don't make any sense.

I tried --enable-io-thread.  I get the error:
cpus.o: In function `qemu_kvm_eat_signal':
cpus.c:(.text+0x111a): undefined reference to `kvm_on_sigbus_vcpu'

so I assume it requires KVM.  I'm not using KVM because I don't have 
full control
over the host I am running on.
I have 8 host processors running 4 Qemu copies (1 vcpu each) plus my 
network simulator.
I have tried polling via a call in vl.c:mainloop and via qemu_mod_timer().
There doesn't appear to be much difference.
The guest is a full-blown x86_64 OS.
I am polling to minimize latency.
I am looking at other ways to tolerate the current latency in case I can't
do much better.

Clay


On 06/15/11 01:22, Stefan Hajnoczi wrote:
> On Tue, Jun 14, 2011 at 11:32 PM, Clay Andreasen<cda@cray.com>  wrote:
>> I have a network device simulation that I am connecting to multiple
>> instances of Qemu (nodes) via a shared memory queue.  It works pretty well
>> as
>> long as all of the nodes are initiating communication but when one node is
>> passive, it must poll to get packets.  So far the fastest I have been able
>> to
>> get it to poll is about every 2M emulated clocks.
>> This is with CONFIG_HIGH_RES_TIMERS and CONFIG_NO_HZ on the host.
>> I also set MIN_TIMER_REARM_NS in qemu-timer.c to 100000.
>> Is there some way to increase the polling rate by about an order of
>> magnitude?
> Without more details it's hard to say what is going on:
>
> Running an x86 guest?  Are you using ./configure --enable-io-thread?
> It sounds like you may not be using KVM?  How many vcpus are running
> on the host in total compared to the number of logical CPUs on the
> host?
>
> You haven't given details on how you are polling in the guest.  Are
> you running a polling loop in ring 0 or is the guest running a
> full-blown OS and polling from userspace?
>
> Why are you polling in the first place - to minimize latency?
>
> Stefan

      reply	other threads:[~2011-06-20 16:54 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-06-14 22:32 [Qemu-devel] High speed polling Clay Andreasen
2011-06-14 23:12 ` Mulyadi Santosa
2011-06-15  6:22 ` Stefan Hajnoczi
2011-06-20 16:54   ` Clay Andreasen [this message]

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=4DFF7B34.6090005@cray.com \
    --to=cda@cray.com \
    --cc=qemu-devel@nongnu.org \
    --cc=stefanha@gmail.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 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.