Bug 1309320 - qemu-kvm feature request to hide hypervisor from guest
qemu-kvm feature request to hide hypervisor from guest
Status: CLOSED WONTFIX
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: qemu-kvm (Show other bugs)
7.3
Unspecified Unspecified
low Severity low
: rc
: ---
Assigned To: Virtualization Maintenance
Virtualization Bugs
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2016-02-17 08:18 EST by Vlastimil Holer
Modified: 2016-02-25 08:56 EST (History)
11 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2016-02-24 11:30:31 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Vlastimil Holer 2016-02-17 08:18:31 EST
Description of problem:
It would be nice if qemu-kvm in RHEL 7.x has feature to
hide hypervisor from guest via command line option kvm=off
(-cpu host,kvm=off). This is essential for GPU passthrough
with current NVIDIA cards and latest drivers. See page 23
http://www.linux-kvm.org/images/b/b3/01x09b-VFIOandYou-small.pdf

RHEL 7.2 libvirt already supports this via
https://www.redhat.com/archives/libvir-list/2014-August/msg00744.html
  <features>
    <kvm><hidden state='on'/></kvm>
  </features>

QEMU-KVM-EV is new enough to have this support as well.
So for GPU passthrough one has to go with qemu-kvm-ev
only because it supports kvm=off instead of qemu-kvm.

How reproducible:
Enabling feature in domain XML
  <features><kvm><hidden state='on'/></kvm></features>
Check hypervisor in guest.

Steps to Reproduce:
1. enable feature in domain XML (see above)
2. virt-what in guest should return empty string
3. dmesg in guest should contain info about bare matal (instead of "on KVM")
[    0.000000] Booting paravirtualized kernel on bare hardware

Actual results:
No way to hide KVM in qemu-kvm.
Comment 6 Scott Herold 2016-02-24 11:30:31 EST
This is not a supported configuration by either Red Hat Enterprise Linux or Nvidia.  Closing bug as WONTFIX.
Comment 7 Vlastimil Holer 2016-02-24 11:35:33 EST
https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Virtualization_Deployment_and_Administration_Guide/sect-device-GPU.html

"Red Hat Enterprise Linux 7 supports PCI device assignment of NVIDIA K-Series Quadro (model 2000 series or higher), GRID, and Tesla as non-VGA graphics devices."

That means you support NVIDIA GPU passthrough, but you don't care the GPU doesn't work?
Comment 8 Alex Williamson 2016-02-24 11:49:26 EST
Those supported models have no requirement to hide the hypervisor, the NVIDIA driver works with KVM exposed.
Comment 9 Vlastimil Holer 2016-02-24 12:13:01 EST
I have two different Tesla cards
1. NVIDIA Corporation GF110GL  [Tesla M2090]
2. NVIDIA Corporation GK110BGL [Tesla K40c]
and first doesn't work without hiding KVM for sure.

Second one is currently running Debian 8 guest with old distribution driver 340.96-1, which isn't broken yet. I'll test some newer driver tomorrow.

Are these Teslas unsupported models?
Comment 10 Alex Williamson 2016-02-24 12:18:26 EST
(In reply to Vlastimil Holer from comment #9)
> I have two different Tesla cards
> 1. NVIDIA Corporation GF110GL  [Tesla M2090]
> 2. NVIDIA Corporation GK110BGL [Tesla K40c]
> and first doesn't work without hiding KVM for sure.
> 
> Second one is currently running Debian 8 guest with old distribution driver
> 340.96-1, which isn't broken yet. I'll test some newer driver tomorrow.
> 
> Are these Teslas unsupported models?

According to our data from NVIDIA, only the second is supported, we have no information on M-series Teslas.
Comment 11 Vlastimil Holer 2016-02-24 12:30:09 EST
OK. If it's on your agreement with NVIDIA, I understand. On the other hand I don't see anything wrong against backporting the KVM hiding feature (e.g. for QA environments).

I'll check the second card first, but I have strong feeling, that it didn't work as well.

Also if there is a limited set of supported GPUs, it should be written somewhere.
Documentation and knowledgebase is missing these things
https://access.redhat.com/solutions/170363

Anyway, thank you Alex for your comments.
Comment 12 Vlastimil Holer 2016-02-25 08:56:18 EST
(In reply to Alex Williamson from comment #10)
> According to our data from NVIDIA, only the second is supported, we have no
> information on M-series Teslas.

You are right, the second Tesla K40c works without hiding KVM.

Note You need to log in before you can comment on or make changes to this bug.