<div dir="ltr"><div class="gmail_extra">I don'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'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'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"><<a href="mailto:speter@inf.ethz.ch" target="_blank">speter@inf.ethz.ch</a>></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'm also suspecting that it might just
be jittery CPU emulation speed that's getting you different
results. Barrelfish'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's very bad
at figuring it out correctly on QEMU. I'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's none of the
devices' 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's usleep as I know). However, I got the
full-speed results under both conditions.</div>
<div><br>
</div>
<div>So, I don'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>