<div dir="ltr">Thank you for clarifying!<span class="gmail-im"><br><br>> > > My Linux desktop get the IGD [..] Why not make more use of IGD<br>> > > assignment in your configuration.<br>> ><br>> > Does a host system even boot with all graphics devices stubed? So am I<br>> > right to assuming that x86 "graphic needs" are satisfied for POST but<br>> > after that doesn't care what happens to the graphics devices<br>> > afterwards?  I don't mind a headless host at all, it will change<br>> > somewhat how I setup things for crypto/storage but that I can solve.<br>> <br>> Linux doesn't require a graphics head, I use a serial console for my<br>> system.  I personally don't like entirely headless configurations (ie.<br>> no graphical or serial console), but to each their own.<br><br></span>Well I like graphical output too, but for getting this to work I wouldn't<br>mind missing it. For debugging I can always change in GRUB and start the<br>host with a display or ssh into the host from a laptop. In the end I hope<br>that a minimal host should run smoothly enough.<span class="gmail-im"><br><br>> > > Concerns with your hardware choice otherwise: a) No ACS, you won't<br>> > > be able to assign cards in CPU root port slots to separate VMs (see<br>> > > <a href="http://vfio.blogspot.com" target="_blank">vfio.blogspot.com</a>), b) insufficient cores, how much are you willing<br>> > > to have your storage server interfere with your gaming performance?<br>> ><br>> > a) Ok, I found your article<br>> > <a href="http://vfio.blogspot.de/2015/10/intel-processors-with-acs-support.html" target="_blank">http://vfio.blogspot.de/2015/<wbr>10/intel-processors-with-acs-<wbr>support.html</a><br>> > these are the only choices?<br>> <br>> At the time of writing, I think it was fairly comprehensive, since<br>> Intels product SKU marketing scramble with "Scalable Processors" I'm not<br>> sure we've figured out the new decoder ring yet.<br><br></span>Thank you for the blog articles. I'm still reading and it does clarify a<br>lot, where I was confused before! <br><span class="gmail-im"><br>> 6-cores?  At best you can get 4-cores + threads on Intel processors with<br>> IGD.  Folks here tend to complain about every little micro jitter they<br>> see in VM configurations and those can be difficult to eliminate<br>> entirely without cores that can be dedicated to the gaming VM.<br><br></span>You are right, I misread in my sea of browser tabs. Also misread the<br>prices for a i7-6800k too, ~375 Euro that I can afford :) For the<br>mainboard the Gigabyte GA-X99-UD4 has enough sata and usb3 for my<br>storage/backup needs. From the manual I gather that it supports VT-d<br>but I struggle to find a system block diagram to verify PCIE root<br>ports to the pch and socket.<br><a href="http://www.gigabyte.us/Motherboard/GA-X99-UD4-rev-10#support-manual" target="_blank">http://www.gigabyte.us/<wbr>Motherboard/GA-X99-UD4-rev-10#<wbr>support-manual</a><span class="gmail-im"><br><br>> The ACS override patch is unsupported and not destined for upstream, so<br>> I would certainly not use it.  ACS is typically included in the register<br>> definition in the vol2 Intel datasheet.  For AMD, good luck, we rely on<br>> user reports due to lack of published specs.  We know that AGESA 1.0.0.6<br>> is required for Ryzen root port ACS and I see on another list that<br>> 1.0.0.7 is claimed will enable ACS on downstream switch ports for an<br>> internal switch in X370.  If we can get to the bottom of the NPT<br>> performance issue, Ryzen may yet shape up to be a good device assignment<br>> platform, but it's taking its time to get there.  Thanks,<br><br></span>Ohh, so, Ryzen does have ACS but "starter" problems. I guess as a VM<br>beginner/novice I'm better off sticking to older hardware like i7-6800k and<br>GA-x99-UD4 and try to get my setup running.<br><br>Thanks and regards,<br>Almer</div><div class="gmail_extra"><br><div class="gmail_quote">On 17 July 2017 at 18:47, Alex Williamson <span dir="ltr"><<a href="mailto:alex.williamson@redhat.com" target="_blank">alex.williamson@redhat.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On Sun, 16 Jul 2017 12:59:16 +0200<br>
almer <<a href="mailto:almertje@gmail.com">almertje@gmail.com</a>> wrote:<br>
<br>
> > Yes, it's possible, not even hard.<br>
><br>
> Ok, so this isn't a hazy unattainable dream, perfect!<br>
><br>
><br>
> > unbind cards or unload the module and RX 480<br>
><br>
> The host would get the IGP from the CPU. Both PCIE cards would be<br>
> vfio-stubed, so as far as I understand it these cards will be handled by<br>
> the vfio module in the host kernel and should be freely assignable to<br>
> guests. Therefore don't use any power if no guest is using it.<br>
<br>
</span>Um, not quite.  Unless you have hotplug capable slots with independent<br>
power control, the best we can do is put devices into a "low power", D3<br>
power state.  The PCI spec requires devices to support this state, but<br>
does not require devices to meet any particular standards for power<br>
consumption in this state.  I would characterize D3 as slightly better<br>
than doing nothing, no more.  In fact, the power consumption might be<br>
lower with the VM running and the guest driver managing the device<br>
specific power controls.<br>
<span class=""><br>
> I'm not deadset on Nvidia I rather would use something else because of the<br>
> uncertainty that comes with and Nvidia driver. My guess is that their<br>
> proprietary Nvidia linux driver would have VM detection too, but didn't<br>
> find confirmation on this. I would like to use a AMD graphics card just to<br>
> be safe and out of that armsrace, AMDs driver doesn't block like Nvidia<br>
> does.<br>
> But I got discouraged by AMD graphics card PCIE reset issue reports and I<br>
> couldn't make heads and tails about it. If any RX 480 works, great. I will<br>
> have to look more into this.<br>
><br>
><br>
> > My Linux desktop get the IGD [..] Why not make more use of IGD assignment<br>
> > in your configuration.<br>
><br>
> Does a host system even boot with all graphics devices stubed? So am I<br>
> right to assuming that x86 "graphic needs" are satisfied for POST but after<br>
> that doesn't care what happens to the graphics devices afterwards? I don't<br>
> mind a headless host at all, it will change somewhat how I setup things for<br>
> crypto/storage but that I can solve.<br>
<br>
</span>Linux doesn't require a graphics head, I use a serial console for my<br>
system.  I personally don't like entirely headless configurations (ie.<br>
no graphical or serial console), but to each their own.<br>
<span class=""><br>
> For the IGP to be stubed and passed through I need a ACS capable CPU? As it<br>
> seems I wrongfully assumed that Vt-d and Vt-x support entailed this.<br>
<br>
</span>IGD is not dependent on ACS, IGD is a single function device connected<br>
directly to the PCIe root complex.  It will always be in an IOMMU group<br>
of its own.  Unfortunately the Intel systems that include proper ACS do<br>
not include IGD, and conversely, if you have IGD you do not have ACS.<br>
Plan your usage accordingly.<br>
<span class=""><br>
> > Concerns with your hardware choice otherwise: a) No ACS, you won't be<br>
> able<br>
> > to assign cards in CPU root port slots to separate VMs<br>
> > (see <a href="http://vfio.blogspot.com" rel="noreferrer" target="_blank">vfio.blogspot.com</a>), b) insufficient cores, how much are you<br>
> > willing to have your storage server interfere with your gaming<br>
> performance?<br>
><br>
> a) Ok, I found your article <a href="http://vfio.blogspot.de/2015/" rel="noreferrer" target="_blank">http://vfio.blogspot.de/2015/</a><br>
> 10/intel-processors-with-acs-<wbr>support.html these are the only choices?<br>
<br>
</span>At the time of writing, I think it was fairly comprehensive, since<br>
Intels product SKU marketing scramble with "Scalable Processors" I'm<br>
not sure we've figured out the new decoder ring yet.<br>
<span class=""><br>
> Doesn't AMD support this too? AMD CPUs are usually weaker in single core<br>
> performance, so I ignored AMD CPUs for years. But seeing the prices I<br>
> wonder if they have an alternative for ~450 Euro price range. Some of the<br>
> Intel CPUs you listed are way out of my budget. The strongest and somewhat<br>
> affordable listed is a i7-6850k. AMD ryzen 1800x costs ~470 Euro, but<br>
> doesn't have an IGP and I didn't look into AMD CPUs at all so I don't know<br>
> if they support ACS it has AMD-V tho.<br>
<br>
</span>Previous generation, 990-based AM3/+ sockets supported ACS.  Ryzen<br>
systems seem to have implemented it in hardware, but nobody told the<br>
BIOS team that it was important to enable and support for ACS is slowly<br>
being added.  Specifications are hard to come by for AMD chips though,<br>
so we only have user reports to tell us how various systems fair.<br>
Increased core count in Ryzen is certainly desirable for virtualization<br>
scenarios, but the number of PCIe lanes from the processor can lead to<br>
limited I/O options or additional switch components that may ruin the<br>
ACS provided by the root ports.  Note that there's also an assigned GPU<br>
performance issue with AMD's NPT as well that isn't understood.<br>
<span class=""><br>
> b) Well. I'm used to Intel quad core CPUs. Seeing that no matter what I buy<br>
> I will endup with 6 cores at least, I guess I can live with it. Desktop<br>
> guest and host heavyload-PIDs will get taskset to one core and the gaming<br>
> guest gets the rest pinned and taskset. So my guess is that any<br>
> crypt/storage/desktop spike shouldn't be noticed in the gaming guest.<br>
<br>
</span>6-cores?  At best you can get 4-cores + threads on Intel processors<br>
with IGD.  Folks here tend to complain about every little micro jitter<br>
they see in VM configurations and those can be difficult to eliminate<br>
entirely without cores that can be dedicated to the gaming VM.<br>
<div><div class="h5"><br>
> > The only major issue is that running things involving sound and video<br>
> becomes<br>
> > not possible on such desktop. But those can be viewed/listened locally, on<br>
> > whatever actual machine you happen to be at. (Or also there are ways to<br>
> pass<br>
> > through sound from a remote desktop, or use video-efficient protocols<br>
> such as<br>
> > SPICE, but for my use I did not look into those as of yet).<br>
><br>
> This would be an issue. I didn't look into audio and microphone that much.<br>
> I would like to hear the audio from desktop guest and gaming guest and have<br>
> microphone available at least in the gaming guest for voice chat. Right now<br>
> this doesn't matter that much. Host and guests will be all GNU/Linux<br>
> distributions so without having looked into it further I guess there is a<br>
> server solution if any audio/mic passthrough scenario wouldn't work. I<br>
> guess your SPICE suggestion is such a solution.<br>
> Monitor wise I initially thought about HDMI switching host and desktop<br>
> guest, but as it seems that I can vfio-stub all graphics devices with a<br>
> proper CPU, I won't need the passive PCIE card in the case of i7-6850k<br>
> anymore and can use the IGP for the desktop guest instead. The desktop<br>
> guest will be dual monitor setup and the gaming guest will be switched on<br>
> one of the monitors, like I have it right now with separate computers.<br>
> Keyboard + mouse, I already use a two port usb switch. I guess I can still<br>
> use that to switch between desktop and gaming guests, after one of the two<br>
> usb-switch cables is passed through to the desktop guest after boot.<br>
><br>
> I'm exited and a bit confused.<br>
><br>
> How do you see if a CPU does support proper isolation or not? It isn't the<br>
> feature list like AMD-V or Vt-d/x only. Is it a combination of mainboard<br>
> chipset and CPU? I ask because I see the TDP wattage difference between<br>
> ryzen 7 1800x and the i7-6850k. So being relatively equal in price and<br>
> performance I tend towards the ryzen CPU. In the last couple hours I fail<br>
> to find if it would support proper PCIE isolation or not. In the search<br>
> stumbled upon ACS kernel patch, if possible I don't want to apply the ACS<br>
> patch to the host kernel.<br>
<br>
</div></div>The ACS override patch is unsupported and not destined for upstream, so<br>
I would certainly not use it.  ACS is typically included in the<br>
register definition in the vol2 Intel datasheet.  For AMD, good luck,<br>
we rely on user reports due to lack of published specs.  We know<br>
that AGESA 1.0.0.6 is required for Ryzen root port ACS and I see<br>
on another list that 1.0.0.7 is claimed will enable ACS on downstream<br>
switch ports for an internal switch in X370.  If we can get to the<br>
bottom of the NPT performance issue, Ryzen may yet shape up to be a<br>
good device assignment platform, but it's taking its time to get<br>
there.  Thanks,<br>
<br>
Alex<br>
</blockquote></div><br></div>