RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 1003756 - balloon device PCI class code should be 0x5 for older RHEL machine types
Summary: balloon device PCI class code should be 0x5 for older RHEL machine types
Keywords:
Status: CLOSED DUPLICATE of bug 983991
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: qemu-kvm
Version: 7.0
Hardware: Unspecified
OS: Unspecified
unspecified
medium
Target Milestone: rc
: ---
Assignee: Luiz Capitulino
QA Contact: Virtualization Bugs
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-09-03 07:06 UTC by Qian Guo
Modified: 2013-09-10 08:33 UTC (History)
9 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2013-09-06 12:10:37 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description Qian Guo 2013-09-03 07:06:29 UTC
Description of problem:
Boot a RHEL guest in RHEL7 host w/ virtio balloon device, inside guest, the balloon device is named as:
#lspci
...
00:05.0 Unclassified device [00ff]: Red Hat, Inc Virtio memory balloon
..

Check this device when guest is booting in a rhel6.4GA host, the name is
# lspci
..
00:05.0 RAM memory: Red Hat, Inc Virtio memory balloon

Version-Release number of selected component (if applicable):
Host components:
# uname -r
3.10.0-15.el7.x86_64
# rpm -q qemu-kvm
qemu-kvm-1.5.3-2.el7.x86_64

How reproducible:
100%

Steps to Reproduce:
1.Boot guest w/ virtio-balloon device in RHEL7 host.
# /usr/libexec/qemu-kvm -cpu Penryn -enable-kvm -m 4096 -smp 4,sockets=1,cores=4,threads=1 -name rhel7base -drive file=/mnt/rhel7cp1.qcow2_v3,if=none,id=drive-virtio-disk0,format=qcow2,werror=stop,rerror=stop,aio=native -device virtio-blk-pci,drive=drive-virtio-disk0,id=virtio-disk0 -boot menu=on -monitor stdio -netdev tap,id=hostnet0,ifname=guest1,script=/etc/ovs-ifup,downscript=/etc/ovs-ifdown,vhost=on,queues=4 -device virtio-net,netdev=hostnet0,mac=54:52:1b:35:3c:16,id=test,mq=on,vectors=9 -nodefaults -nodefconfig -spice disable-ticketing,port=5930,seamless-migration=on -vga qxl -global qxl-vga.vram_size=67108864 -device virtio-balloon-pci,id=balloon1 -qmp tcp:0:4446,server,nowait

2.Inside guest, check device via lspci
# lspci |grep balloon

3.

Actual results:
# lspci |grep balloon
00:05.0 Unclassified device [00ff]: Red Hat, Inc Virtio memory balloon

The name is not friendly


Expected results:
Change the "Unclassified device [00ff]" to be friendly.


Additional info:

Contrast with guest in RHEL7 host, that the result is:
00:05.0 RAM memory: Red Hat, Inc Virtio memory balloon

Comment 2 Qian Guo 2013-09-03 08:39:46 UTC
(In reply to Qian Guo from comment #0)

> 
> 
> Additional info:
> 
> Contrast with guest in RHEL7 host, that the result is:
Sorry, typo here, RHEL7 should be RHEL6.4GA
> 00:05.0 RAM memory: Red Hat, Inc Virtio memory balloon

Comment 3 Luiz Capitulino 2013-09-05 16:01:38 UTC
Until QEMU v1.0 the balloon device had the PCI class 0x5 (Memory Controller) assigned to it. However, it has been found that having this class was problematic in some platforms, because the system would try to operate the balloon device as a memory controller, which it isn't (see upstream commit 2ba1d381c2f5f5868fe071b45977c2ed459d78f0). So in QEMU v1.1 the balloon device class has been changed from 0x5 to 0xff which, according to the PCI spec, means "Device does not fit in any defined classes".

This is really the best we can do for the balloon device I guess, because it's a device that doesn't exist in real life and as such there's no PCI class that can describe it better than 0xff.

You see the friendlier string in RHEL6 because RHEL6's qemu-kvm has been forked before QEMU v1.1, but I'd say that it's RHEL6 that needs fixing instead!

Closing as CANTFIX.

Comment 4 Amit Shah 2013-09-05 18:44:08 UTC
(In reply to Luiz Capitulino from comment #3)
> Until QEMU v1.0 the balloon device had the PCI class 0x5 (Memory Controller)
> assigned to it. However, it has been found that having this class was
> problematic in some platforms, because the system would try to operate the
> balloon device as a memory controller, which it isn't (see upstream commit
> 2ba1d381c2f5f5868fe071b45977c2ed459d78f0). So in QEMU v1.1 the balloon
> device class has been changed from 0x5 to 0xff which, according to the PCI
> spec, means "Device does not fit in any defined classes".
> 
> This is really the best we can do for the balloon device I guess, because
> it's a device that doesn't exist in real life and as such there's no PCI
> class that can describe it better than 0xff.
> 
> You see the friendlier string in RHEL6 because RHEL6's qemu-kvm has been
> forked before QEMU v1.1, but I'd say that it's RHEL6 that needs fixing
> instead!

However, for migration compatibility, we may have to continue advertising the older PCI class for machines started with -M rhel6x and older (stable guest ABI).

We could use this bug to do that.

Comment 5 Luiz Capitulino 2013-09-05 19:07:39 UTC
Oh, good catch! That problem didn't occur to me. I'd prefer creating a new, clearer bz, but patching this one works too.

Comment 6 Luiz Capitulino 2013-09-06 12:10:37 UTC
It turns out that this is already fixed. The tracking bz is bug 983991, closing as duplicated.

*** This bug has been marked as a duplicate of bug 983991 ***

Comment 7 Markus Armbruster 2013-09-10 08:33:39 UTC
Fixed in upstream commit 2ba1d38 for the upstream machine types, and
RHEL-7 commit 69018e8 for the RHEL machine types.


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