Bug 1309320 - qemu-kvm feature request to hide hypervisor from guest
Summary: qemu-kvm feature request to hide hypervisor from guest
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: qemu-kvm
Version: 7.3
Hardware: Unspecified
OS: Unspecified
low
low
Target Milestone: rc
: ---
Assignee: Virtualization Maintenance
QA Contact: Virtualization Bugs
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-02-17 13:18 UTC by Vlastimil Holer
Modified: 2016-02-25 13:56 UTC (History)
11 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2016-02-24 16:30:31 UTC
Target Upstream Version:


Attachments (Terms of Use)

Description Vlastimil Holer 2016-02-17 13:18:31 UTC
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 16:30:31 UTC
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 16:35:33 UTC
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 16:49:26 UTC
Those supported models have no requirement to hide the hypervisor, the NVIDIA driver works with KVM exposed.

Comment 9 Vlastimil Holer 2016-02-24 17:13:01 UTC
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 17:18:26 UTC
(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 17:30:09 UTC
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 13:56:18 UTC
(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.