<div dir="ltr">On 17 January 2014 01:16, Chris Friesen <span dir="ltr"><<a href="mailto:chris.friesen@windriver.com" target="_blank">chris.friesen@windriver.com</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote">

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">On 01/16/2014 05:12 PM, CARVER, PAUL wrote:<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Jumping back to an earlier part of the discussion, it occurs to me<br>
that this has broader implications. There's some discussion going on<br>
under the heading of Neutron with regard to PCI passthrough. I<br>
imagine it's under Neutron because of a desire to provide passthrough<br>
access to NICs, but given some of the activity around GPU based<br>
computing it seems like sooner or later someone is going to try to<br>
offer multi-tenant cloud servers with the ability to do GPU based<br>
computing if they haven't already.<br>
</blockquote>
<br></div>
I'd expect that the situation with PCI passthrough may be a bit different, at least in the common case.<br>
<br>
The usual scenario is to use SR-IOV to have a single physical device expose a bunch of virtual functions, and then a virtual function is passed through into a guest.<br></blockquote><div><br></div><div>That entirely depends on the card in question.  Some cards support SRIOV and some don't (you wouldn't normally use SRIOV on a GPU, as I understand it, though you might reasonably expect it on a modern network card).  Even on cards that do support SRIOV there's nothing stopping you assigning the whole card.<br>

<br>But from the discussion here it seems that (whole card passthrough) + (reprorgrammable firmware) would be the danger, and programmatically there's no way to tell from the passthrough code in Nova whether any given card has programmable firmware.  It's a fairly safe bet you can't reprogram firmware permanently from a VF, agreed.<br>

-- <br></div><div>Ian.</div></div></div></div>