<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
<title></title>
</head>
<body text="#000000" bgcolor="#ffffff">
<br>
<meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type">
<title></title>
Dear Dennis,<br>
<br>
<blockquote cite="mid:4B36043B.6020800@conversis.de" type="cite">Why
should I care? Don't get me wrong the idea sound interesting but I
don't really see why it is so vitally important to put the HV right
into the BIOS. The problem is that you loose support for a lot of
hardware that cannot be booted with coreboot. <br>
</blockquote>
<br>
Our engineering solution comes from a real world problem : faulty
firmware (BIOS or UEFI) implementations prevent efficient I/O
Virtualization. To quote David Woodhouse, lead Intel embedded software
developer for the Linux Kernel and principal maintainer of the file
drivers/pci/intel-iommu.c [0] ( Intel's I/O Virtualization, to provide
high performance inside the virtual machines ) [1] :<br>
<br>
"Well done, Dell and HP -- although I didn't think it was possible, you
have _further_ lowered my already-unprintable opinion of closed source
BIOSes and BIOS engineers"<br>
<span class="Apple-style-span"
style="border-collapse: separate; color: rgb(0, 0, 0); font-family: 'Times New Roman'; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"><span
class="Apple-style-span" style="font-size: 12px;"></span></span><br>
"We _really_ need open source firmware.<br>
<br>
Or at _least_ firmware written by competent engineers -- but I think<br>
we've all fairly much given up on that happening by now?"<br>
<br>
Many commits of the file intel-iommu.c are related to BIOS bugs [2] [3]
[4] [5] [6] [7]. <br>
<br>
And it is evident that Intel will not be able to test each firmware
version on each IOMMU capable Hardware.<br>
<br>
By ensuring a full use of hardware capabilities inside Virtual
Machines, through a custom Virtualization Firmware, it lowers the TCO
(Total Cost of Ownership), thus requiring less frequent hardware
upgrades that can be substantial saves on a large scale volume or a
critical requirement for budget aware customers.<br>
<br>
<blockquote cite="mid:4B36043B.6020800@conversis.de" type="cite">Earlier
this
year we had to come up with a virtualization solution to host 80
VMs quickly and our first shot was VMWare ESX but that failed because
ESX refused to work with the commodity hardware we were using. So we
went with RHEL Xen instead which works beautifully on pretty much any
system precisely because it isn't so closely wedded to any particular
hardware. <br>
I think using a regular BIOS that boots a minimal Kernel/Initrd from a
flash chip gives you pretty much the same benefits of a tiny footprint
but actually works with pretty much every machine out there. <br>
</blockquote>
<br>
We would greatly appreciate to invite you to a further reading of this
Phoronix article entitled : "KVM Virtualization Performance With Linux
2.6.31" [8] :<br>
<br>
"The disk benchmarks took a large hit when running Ubuntu 9.10 "Karmic
Koala" within a virtual machine using KVM, but that is to no surprise
considering the setup."<br>
<br>
"Benchmarking Apache with the Kernel-based Virtual Machine took a huge
performance hit," <br>
<br>
<br>
Our engineering target is to achieve 1:1 parity in terms of performance
between real-hardware and a virtual machine.<br>
<br>
Each product has specific needs that is why we are very pleased that
you were satisfied by your Virtualization
Solution, to quote : "So we went with RHEL Xen instead which works
beautifully", however it will not be the case for
performance and budget aware customers.<br>
<br>
Best Regards,<br>
<br>
Guillaume FORTAINE<br>
<br>
[0]
<a moz-do-not-send="true" class="moz-txt-link-freetext"
href="http://git.infradead.org/iommu-2.6.git/blob/e0fc7e0b4b5e69616f10a894ab9afff3c64be74e:/drivers/pci/intel-iommu.c">http://git.infradead.org/iommu-2.6.git/blob/e0fc7e0b4b5e69616f10a894ab9afff3c64be74e:/drivers/pci/intel-iommu.c</a><br>
[1] <a moz-do-not-send="true" class="moz-txt-link-freetext"
href="http://patchwork.kernel.org/patch/42841/">http://patchwork.kernel.org/patch/42841/</a><br>
[2]
<a moz-do-not-send="true" class="moz-txt-link-freetext"
href="http://git.infradead.org/iommu-2.6.git/commit/e0fc7e0b4b5e69616f10a894ab9afff3c64be74e">http://git.infradead.org/iommu-2.6.git/commit/e0fc7e0b4b5e69616f10a894ab9afff3c64be74e</a><br>
[3]
<a moz-do-not-send="true" class="moz-txt-link-freetext"
href="http://git.infradead.org/iommu-2.6.git/commit/2ff729f5445cc47d1910386c36e53fc6b1c5e47a">http://git.infradead.org/iommu-2.6.git/commit/2ff729f5445cc47d1910386c36e53fc6b1c5e47a</a><br>
[4]
<a moz-do-not-send="true" class="moz-txt-link-freetext"
href="http://git.infradead.org/iommu-2.6.git/commit/6ecbf01c7ce4c0f4c3bdfa0e64ac6258328fda6c">http://git.infradead.org/iommu-2.6.git/commit/6ecbf01c7ce4c0f4c3bdfa0e64ac6258328fda6c</a><br>
[5]
<a moz-do-not-send="true" class="moz-txt-link-freetext"
href="http://git.infradead.org/iommu-2.6.git/commit/5854d9c8d18359b1fc2f23c0ef2d51dd53281bd6">http://git.infradead.org/iommu-2.6.git/commit/5854d9c8d18359b1fc2f23c0ef2d51dd53281bd6</a><br>
[6]
<a moz-do-not-send="true" class="moz-txt-link-freetext"
href="http://git.infradead.org/iommu-2.6.git/commit/86cf898e1d0fca245173980e3897580db38569a8">http://git.infradead.org/iommu-2.6.git/commit/86cf898e1d0fca245173980e3897580db38569a8</a><br>
[7]
<a moz-do-not-send="true" class="moz-txt-link-freetext"
href="http://git.infradead.org/iommu-2.6.git/commit/0815565adfe3f4c369110c57d8ffe83caefeed68">http://git.infradead.org/iommu-2.6.git/commit/0815565adfe3f4c369110c57d8ffe83caefeed68</a><br>
[8]
<a moz-do-not-send="true" class="moz-txt-link-freetext"
href="http://www.phoronix.com/scan.php?page=article&item=linux_2631_kvm&num=6">http://www.phoronix.com/scan.php?page=article&item=linux_2631_kvm&num=6</a><br>
<br>
</body>
</html>