Hi Laine,<br><br>It appears that patch worked!  I grabbed the latest git source for both libvirt and qemu, applied your patch and reinstalled.  After running through a few more setup stuff, I managed to get my web machine up and running with tx=bh.<br>

<br>However, I didn't notice any latency improvements compared to timer mode.  My test is pretty basic: I'm connecting to a mysql server, running a simple query, then disconnecting.  On the host guy, this process takes around 5ms.  On the virtual machine, it's around 15ms for both iothread and timer modes.  I'm also comparing this with my other Xen machines in production, which do the same task in around 12 - 16ms.<br>

<br>I know it sounds like small potatoes, but over the course of running our somewhat-inefficient webapp, it adds up to around 100ms of overhead for KVM vs a bare hardware machine.<br><br>Any suggestions on that?<br><br>
Thanks!<br>
<br>--Cal<br>
        <div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div bgcolor="#ffffff" text="#000000"><div class="im"><blockquote type="cite"><div class="gmail_quote">


      </div>
    </blockquote>
    <br></div>
    Not exactly, but close. In the qemu capabilities code, there is a
    variable called "is_kvm" that is only set if it finds the string
    "(qemu-kvm-" or "(kvm-" in the help output. It seems to me that this
    used to be used for a lot more things, but when I look now I see
    that it's used for very few things (maybe a result of the
    capabilities code refactoring, or maybe my memory is faulty :-).
    However, one of the things still in place is that
    QEMU_CAPS_VNET_HOST isn't set unless is_kvm is true.<br>
    <br>
    I believe this dependency on is_kvm is there because someone said
    that the feature was only in kvm, but retrospectively that doesn't
    make sense. Can you try building with the following patch, and see
    if that works?<br>
    <br>
    diff --git a/src/qemu/qemu_capabilities.c
    b/src/qemu/qemu_capabilities.c<br>
    index ea55df5..71a54a5 100644<br>
    --- a/src/qemu/qemu_capabilities.c<br>
    +++ b/src/qemu/qemu_capabilities.c<br>
    @@ -982,7 +982,7 @@ qemuCapsComputeCmdFlags(const char *help,<br>
         if (is_kvm && (version >= 10000 || kvm_version >=
    74))<br>
             qemuCapsSet(flags, QEMU_CAPS_VNET_HDR);<br>
     <br>
    -    if (is_kvm && strstr(help, ",vhost=")) {<br>
    +    if (strstr(help, ",vhost=")) {<br>
             qemuCapsSet(flags, QEMU_CAPS_VNET_HOST);<br>
         }<br>
     <br>
  </div>

</blockquote></div><br>