<div dir="ltr"><div class="gmail_extra">I don&#39;t actually care about the measure of CPU speed, I want to know why Barrelfish performs worse on bare-metal than on QEMU with KVM.</div><div class="gmail_extra"><br></div><div class="gmail_extra">As my second reply demonstrated, I got worse performance while running applications on bare-metal than both QEMU with KVM and native Linux.</div><div class="gmail_extra"><br></div><div class="gmail_extra">I made sure that it doesn&#39;t result from CPU frequency, because I accessed the hardware performance registers directly within kernelĀ and found it did run with full speed.</div><div class="gmail_extra"><br></div><div class="gmail_extra">Now, I&#39;m suspecting that is it possible that the performance is influenced by some other factors like, device interrupts?</div><div class="gmail_extra">Have you ever measured the performance of Barrelfish and compared it with Linux or other operating system?</div><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Feb 7, 2015 at 3:47 AM, Simon Peter <span dir="ltr">&lt;<a href="mailto:speter@inf.ethz.ch" target="_blank">speter@inf.ethz.ch</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  
    
  
  <div text="#000000" bgcolor="#FFFFFF">
    <div>I&#39;m also suspecting that it might just
      be jittery CPU emulation speed that&#39;s getting you different
      results. Barrelfish&#39;s usleep ultimately uses
      sys_debug_get_tsc_per_ms, so your 2 ways might actually be the
      same. Barrelfish measures CPU speed at bootup, but it&#39;s very bad
      at figuring it out correctly on QEMU. I&#39;m not sure what the best
      way is to get accurate results on QEMU.<div><div class="h5"><br>
      <br>
      On 15-02-04 09:46 PM, tomsun.0.7 wrote:<br>
    </div></div></div>
    <blockquote type="cite"><div><div class="h5">
      
      <div dir="ltr">Hi,
        <div><br>
        </div>
        <div>I started a network application who is dedicated to produce
          packets all the time. However, when I started it on
          bare-metal, I found the throughput is only a half of running
          in QEMU (of course, with KVM enabled).</div>
        <div><br>
        </div>
        <div>This application is only CPU-intensive, it just produces a
          lot of packets and then destroys them. So it&#39;s none of the
          devices&#39; business. At first, I think it results from the low
          frequency of cores, so I measured this by two ways: 1.
          invoking native Barrelfish interface,
          sys_debug_get_tsc_per_ms, directly; 2. readingĀ tsc and
          sleeping for 1 second using POSIX sleep (which is implemented
          by invoking Barrelfish&#39;s usleep as I know). However, I got the
          full-speed results under both conditions.</div>
        <div><br>
        </div>
        <div>So, I don&#39;t know whether it results from incorrect measure
          of frequency or some other CPU problems because I even tried
          to start it with PXE in QEMU, and got full performance.</div>
        <div><br>
        </div>
        <div>What can I do to get normal performance on bare-metal? Or,
          if it results from low frequency of CPUs, what can I do to
          tune up the frequency?</div>
        <div><br>
        </div>
        <div><br>
        </div>
        <div>Tom<br>
        </div>
      </div>
      <br>
      <fieldset></fieldset>
      <br>
      </div></div><pre>_______________________________________________
Barrelfish-users mailing list
<a href="mailto:Barrelfish-users@lists.inf.ethz.ch" target="_blank">Barrelfish-users@lists.inf.ethz.ch</a>
<a href="https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users" target="_blank">https://lists.inf.ethz.ch/mailman/listinfo/barrelfish-users</a>
</pre>
    </blockquote>
    <br>
  </div>

</blockquote></div><br></div></div>