<div dir="ltr">I finally got my server to a state that I can start doing some performance testing. While researching the best way to handle network adapters, I came across the following.<div><br></div><div>I'm currently using the following settings to utilize a bridge on my machine named br0</div><div>-net bridge,br=br0 -net nic,macaddr=52:54:00:81:08:AB,model=virtio<br></div><div><br></div><div>Doing some more reading, it looks like this might actually have better performance</div><div>-netdev bridge,br=br0,id=vnet0 -device virtio-net-pci,netdev=vnet0,mac=52:54:00:81:08:AB,id=nic1<br></div><div><br></div><div>The 2nd command works, however passwing the mac address does not. It always defaults to the generic mac. Am I doing something wrong? If I try to use macaddr as the parameter I can an error that it isn't valid. Does anyone know if there is even a functional difference between these two?</div><div><br></div><div>Lastly, my system has 4 NIC cards. Would it be faster or more efficient to pass through the nic itself? From what I read, it the 2nd option above should be just as fast as a physical NIC.</div></div><br><div class="gmail_quote"><div dir="ltr">On Fri, Oct 30, 2015 at 9:05 PM Dan Ziemba <<a href="mailto:zman0900@gmail.com">zman0900@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I'm using a 7850 for the host and a R9 280x (same as 7970) for the VM.<br>
 i7 3770 cpu.  I used to use the 7850 for the VM before I got the 280x,<br>
but I think that might have been only back when I was using Xen.  Setup<br>
works great for me, except for the ACS issues requiring the patch.  <br>
<br>
-----Original Message-----<br>
From: Ryan Flagler <<a href="mailto:ryan.flagler@gmail.com" target="_blank">ryan.flagler@gmail.com</a>><br>
To: Dan Ziemba <<a href="mailto:zman0900@gmail.com" target="_blank">zman0900@gmail.com</a>>, Mark Weiman <<a href="mailto:mark.weiman@markzz.co" target="_blank">mark.weiman@markzz.co</a><br>
m>, <a href="mailto:vfio-users@redhat.com" target="_blank">vfio-users@redhat.com</a><br>
Subject: Re: [vfio-users] KVM options and the effect on performance<br>
Date: Fri, 30 Oct 2015 14:13:00 +0000<br>
<br>
Thanks for the config examples. What GPU's do you guys use? I'm<br>
struggling with 2 different AMD Radeon models (7850 and R9 380). Early<br>
on in my research I noticed people saying Radeons were easier to get<br>
working, but the deeper I dig, it seems nVidia cards have some initial<br>
quirks, but are more stable. Hopefully next week I'll get some time to<br>
tweak my setup more.<br>
<br>
On Thu, Oct 29, 2015 at 11:15 PM Dan Ziemba <<a href="mailto:zman0900@gmail.com" target="_blank">zman0900@gmail.com</a>> wrote:<br>
> I'll also throw in the scripting I used to use before switching to<br>
> libvirt a month or so back.  The latest version is with the default<br>
> i440 machine, but if you look back in the history some you can see<br>
> how<br>
> I was using q35 before.<br>
><br>
> <a href="https://github.com/zman0900/qemu-vifo" rel="noreferrer" target="_blank">https://github.com/zman0900/qemu-vifo</a><br>
><br>
> -----Original Message-----<br>
> From: Mark Weiman <<a href="mailto:mark.weiman@markzz.com" target="_blank">mark.weiman@markzz.com</a>><br>
> To: Ryan Flagler <<a href="mailto:ryan.flagler@gmail.com" target="_blank">ryan.flagler@gmail.com</a>>, <a href="mailto:vfio-users@redhat.com" target="_blank">vfio-users@redhat.com</a><br>
> Subject: Re: [vfio-users] KVM options and the effect on performance<br>
> Date: Fri, 30 Oct 2015 00:00:21 -0400<br>
><br>
> To be honest, I have found little to no real noticeable difference<br>
> between many of them.  My VMs usually use a qcow2 image that are<br>
> mounted via virtio.<br>
><br>
> As for a CPU, I use an i7-4970K and it works beautifully.  It really<br>
> boils down to when you choose your hardware whether or not you've<br>
> done<br>
> the research beforehand so you can have a good time rather than<br>
> fighting it.  If I were to build my main rig again, I would have<br>
> looked<br>
> closer into the motherboard so I wouldn't have to patch my kernel,<br>
> although it really is not a problem to do with that CPU (I also<br>
> provide<br>
> a slightly modified version of Dan Ziemba's PKGBUILD [1] that<br>
> includes<br>
> the i915 and acs patch from my Arch Linux repository [2]).<br>
><br>
> As for your Wiki idea, since this all is open source software, there<br>
> is<br>
> nothing preventing you from contributing to documentation on<br>
> this.  The<br>
> Arch Linux Wiki does provide a lot of information on how to do all of<br>
> this [3] and can guide you even if you aren't using Arch Linux.  Just<br>
> change the Arch specific bits to whatever distribution you use.<br>
><br>
> If it helps, this is the script I use when I run my Windows 10 VM<br>
> [4].  It's really sloppy, but it seems to work for me.<br>
><br>
> As for using btrfs to store images, I use it to store my images and I<br>
> have had no issue.  It just has to be pointed out that btrfs is still<br>
> under development, so you should just put that under consideration.<br>
><br>
> Didn't want to leave ya hangin,<br>
> Mark Weiman<br>
><br>
> [1] <a href="https://aur.archlinux.org/packages/linux-vfio-lts" rel="noreferrer" target="_blank">https://aur.archlinux.org/packages/linux-vfio-lts</a><br>
> [2] <a href="https://wiki.archlinux.org/index.php/Unofficial_user_repositories" rel="noreferrer" target="_blank">https://wiki.archlinux.org/index.php/Unofficial_user_repositories</a><br>
> #m<br>
> arkzz<br>
> [3] <a href="https://wiki.archlinux.org/index.php/PCI_passthrough_via_OVMF" rel="noreferrer" target="_blank">https://wiki.archlinux.org/index.php/PCI_passthrough_via_OVMF</a><br>
> [4] <a href="http://info.markzz.com/kvm-start.sh" rel="noreferrer" target="_blank">http://info.markzz.com/kvm-start.sh</a><br>
><br>
> On Thu, 2015-10-29 at 16:50 +0000, Ryan Flagler wrote:<br>
> > Hey everyone, sorry if I'm doing this wrong, this is my first time<br>
> > using a mailing list. (Side note, if anyone has a better way to<br>
> view<br>
> > historical emails than the web page, please let me know)<br>
> ><br>
> > I've been tinkering with KVM for a bit on my system and had some<br>
> > general performance questions to ask. I see a lot of people doing<br>
> VGA<br>
> > passthrough using the q35 chipset instead of the i440FX chipset.<br>
> I've<br>
> > personally had no luck getting q35 to be stable for me, and I've<br>
> seen<br>
> > some people say it's not worth the headache. But the big question<br>
> to<br>
> > me, is there a performance difference with CPU, VGA, memory etc.<br>
> > using q35? I'm not looking for specifics, but I'm curious about the<br>
> > following qemu parameters.<br>
> ><br>
> > Which chipset emulation performs better and in what areas?<br>
> > q35 vs i440fx<br>
> ><br>
> > What is the best way to pass a disk through to a VM to get the most<br>
> > performance?<br>
> > .img file, /dev/sd[x] disk, virtio-scsi, etc.<br>
> ><br>
> > What is the best way to handle networking?<br>
> > virtio-nic, hardware passthrough, bridge, nat, etc.<br>
> ><br>
> > What is the best way to assign CPUs?<br>
> > cpu pinning, assigning host cpu parameters, etc.<br>
> ><br>
> > Does the BIOS have an effect on performance?<br>
> > seabios vs OVMF?<br>
> ><br>
> > CPU/Chipset IOMMU support - Not necessarily performance related,<br>
> but<br>
> > stability?<br>
> > e5 vs e3 vs i7 vs cpu architecture etc. What things are good to<br>
> look<br>
> > for, what are bad? Etc.<br>
> ><br>
> > What would be interesting, especially as a new KVM/Qemu user, would<br>
> > be to see an entire wiki/performance page with examples and<br>
> > specifics. It's hard to filter through all the various pages of VM<br>
> > options where people don't really explain why they're doing<br>
> something<br>
> > the way they are.<br>
> ><br>
> > Examples:<br>
> ><br>
> > Disk Options<br>
> > Best<br>
> > -device virtio-scsi-pci,id=scsi<br>
> > -drive file=/dev/sd[x],id=disk,format=ls raw,if=none -device scsi-<br>
> > hd,drive=disk<br>
> ><br>
> > Better<br>
> > -device virtio-scsi-pci,id=scsi<br>
> > -drive file=/opt/[vm_name].img,id=disk,format=raw -device scsi-<br>
> > hd,drive=disk <br>
> ><br>
> > Good<br>
> > -drive file=/opt/[vm_name].img,id=disk,format=raw -device ide-<br>
> > hd,bus=ide.0,drive=disk<br>
> ><br>
> > And maybe an overall explanation of why one is better over the<br>
> other.<br>
> > I know this may not exist and I'm not asking a single person to do<br>
> > the leg work, but being new to this, it's hard to focus on the<br>
> pieces<br>
> > that matter vs just using the first thing I find that works. If<br>
> there<br>
> > is a "right" place to start something like this I'd be happy to<br>
> setup<br>
> > a generic page where more experienced people could easily<br>
> contribute.<br>
> ><br>
> > Thanks - Ryan<br>
> >      <br>
> ><br>
> > _______________________________________________<br>
> > vfio-users mailing list<br>
> > <a href="mailto:vfio-users@redhat.com" target="_blank">vfio-users@redhat.com</a><br>
> _______________________________________________<br>
> vfio-users mailing list<br>
> <a href="mailto:vfio-users@redhat.com" target="_blank">vfio-users@redhat.com</a><br>
> <a href="https://www.redhat.com/mailman/listinfo/vfio-users" rel="noreferrer" target="_blank">https://www.redhat.com/mailman/listinfo/vfio-users</a><br>
</blockquote></div>