Bugzilla will be upgraded to version 5.0. The upgrade date is tentatively scheduled for 2 December 2018, pending final testing and feedback.
Bug 1150510 - kernel ignores ACPI memory devices (PNP0C80) present at boot time
kernel ignores ACPI memory devices (PNP0C80) present at boot time
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: kernel (Show other bugs)
6.7
Unspecified Unspecified
unspecified Severity unspecified
: rc
: ---
Assigned To: Igor Mammedov
Virtualization Bugs
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2014-10-08 07:42 EDT by Igor Mammedov
Modified: 2015-07-22 04:25 EDT (History)
7 users (show)

See Also:
Fixed In Version: kernel-2.6.32-517.el6
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2015-07-22 04:25:49 EDT
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)
[RHEL6.7 1/7] ACPI / memory-hotplug: call acpi_bus_trim() to remove memory device (1.45 KB, patch)
2014-10-09 04:11 EDT, Igor Mammedov
no flags Details | Diff
[RHEL6.7 2/7] ACPI / memory-hotplug: add memory offline code to acpi_memory_device_remove() (3.55 KB, patch)
2014-10-09 04:12 EDT, Igor Mammedov
no flags Details | Diff
[RHEL6.7 3/7] ACPI / memhotplug: deal with eject request in hotplug queue (4.97 KB, patch)
2014-10-09 04:12 EDT, Igor Mammedov
no flags Details | Diff
[RHEL6.7 4/7] ACPI / memhotplug: fix memory leak when memory device is unbound from acpi_memhotplug (2.86 KB, patch)
2014-10-09 04:13 EDT, Igor Mammedov
no flags Details | Diff
Subject: [RHEL6.7 5/7] ACPI / memhotplug: free memory device if acpi_memory_enable_device() failed (1.76 KB, patch)
2014-10-09 04:14 EDT, Igor Mammedov
no flags Details | Diff
[RHEL6.7 6/7] ACPI / memhotplug: don't allow to eject the memory device if it is being used (3.54 KB, patch)
2014-10-09 04:14 EDT, Igor Mammedov
no flags Details | Diff
[RHEL6.7 7/7] ACPI / memhotplug: bind the memory device when the driver is being loaded (2.33 KB, patch)
2014-10-09 04:15 EDT, Igor Mammedov
no flags Details | Diff


External Trackers
Tracker ID Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2015:1272 normal SHIPPED_LIVE Moderate: kernel security, bug fix, and enhancement update 2015-07-22 07:56:25 EDT

  None (edit)
Description Igor Mammedov 2014-10-08 07:42:26 EDT
Description of problem:

ACPI Memory devices present in ACPI tables at boot time are ignored by kernel.

as result is doesn't create sysfs nodes for it which makes this memory unmanageable. While if such device is hotplugged, kernel creates necessary sysfs entries for it.

Version-Release number of selected component (if applicable):
2.6.32-504 and older

How reproducible:
100%

Steps to Reproduce:
1. on rhel 7.1 host start guest with following CLI

qemu-kvm -enable-kvm  -m 1024,slots=2,maxmem=4G -object memory-backend-ram,id=m0,size=1G -device pc-dimm,id=foo,memdev=m0 -drive if=virtio,file=./rhel6x64.qcow2

2.in guest:

cat /sys/devices/system/memory/memory32/state
...: No such file or directory

Actual results:
missing sysfs entries for second gigabyte described as PNP0C80 device in ACPI tables.

Expected results:
sysfs entries for device should be present regardless if device was hotplugged or present at boot time.

Additional info:
Issue is fixed upstream in 3.8 kernel.
Comment 1 Igor Mammedov 2014-10-09 04:11:21 EDT
Created attachment 945218 [details]
[RHEL6.7 1/7] ACPI / memory-hotplug: call acpi_bus_trim() to remove  memory device
Comment 2 Igor Mammedov 2014-10-09 04:12:01 EDT
Created attachment 945221 [details]
[RHEL6.7 2/7] ACPI / memory-hotplug: add memory offline code to  acpi_memory_device_remove()
Comment 3 Igor Mammedov 2014-10-09 04:12:40 EDT
Created attachment 945222 [details]
[RHEL6.7 3/7] ACPI / memhotplug: deal with eject request in hotplug  queue
Comment 4 Igor Mammedov 2014-10-09 04:13:17 EDT
Created attachment 945223 [details]
[RHEL6.7 4/7] ACPI / memhotplug: fix memory leak when memory device  is unbound from acpi_memhotplug
Comment 5 Igor Mammedov 2014-10-09 04:14:05 EDT
Created attachment 945224 [details]
Subject: [RHEL6.7 5/7] ACPI / memhotplug: free memory device if  acpi_memory_enable_device() failed
Comment 6 Igor Mammedov 2014-10-09 04:14:45 EDT
Created attachment 945225 [details]
[RHEL6.7 6/7] ACPI / memhotplug: don't allow to eject the memory  device if it is being used
Comment 7 Igor Mammedov 2014-10-09 04:15:44 EDT
Created attachment 945226 [details]
[RHEL6.7 7/7] ACPI / memhotplug: bind the memory device when the  driver is being loaded
Comment 8 RHEL Product and Program Management 2014-11-10 18:10:13 EST
This request was evaluated by Red Hat Product Management for
inclusion in a Red Hat Enterprise Linux release.  Product
Management has requested further review of this request by
Red Hat Engineering, for potential inclusion in a Red Hat
Enterprise Linux release for currently deployed products.
This request is not yet committed for inclusion in a release.
Comment 9 Rafael Aquini 2014-12-11 17:42:11 EST
Patch(es) available on kernel-2.6.32-517.el6
Comment 12 Xiaoqing Wei 2015-02-28 03:21:42 EST
/bin/qemu-kvm -monitor stdio \
    -S  \
    -name 'virt-tests-vm1'  \
    -sandbox off  \
    -M pc  \
    -nodefaults  \
    -vga cirrus  \
    -chardev socket,id=qmp_id_qmpmonitor1,path=/tmp/monitor-qmpmonitor1-20150228-161325-He5UApdY,server,nowait \
    -mon chardev=qmp_id_qmpmonitor1,mode=control  \
    -chardev socket,id=serial_id_serial0,path=/tmp/serial-serial0-20150228-161325-He5UApdY,server,nowait \
    -device isa-serial,chardev=serial_id_serial0  \
    -chardev socket,id=seabioslog_id_20150228-161325-He5UApdY,path=/tmp/seabios-20150228-161325-He5UApdY,server,nowait \
    -device isa-debugcon,chardev=seabioslog_id_20150228-161325-He5UApdY,iobase=0x402 \
    -device ich9-usb-uhci1,id=usb1,bus=pci.0,addr=03 \
    -drive id=drive_image1,if=none,cache=none,snapshot=off,aio=native,file=/home/staf-kvm-devel/autotest-devel/client/tests/virt/shared/data/images/RHEL-Server-6.7-64-virtio.qcow2 \
    -device virtio-blk-pci,id=image1,drive=drive_image1,bootindex=0,bus=pci.0,addr=04 \
    -device virtio-net-pci,mac=9a:96:97:98:99:9a,id=idKozQLY,vectors=4,netdev=idcXDmAM,bus=pci.0,addr=05  \
    -netdev tap,id=idcXDmAM,vhost=on  \
\
\

    -m 1024,slots=2,maxmem=4G -object memory-backend-ram,id=m0,size=1G -device pc-dimm,id=foo,memdev=m0  \
\
\
\
    -smp 2,maxcpus=2,cores=1,threads=1,sockets=2  \
    -cpu 'Opteron_G5',+kvm_pv_unhalt \
    -device usb-tablet,id=usb-tablet1,bus=usb1.0,port=1  \
    -vnc :0  \
    -rtc base=utc,clock=host,driftfix=slew  \
    -boot order=cdn,once=c,menu=off,strict=off \
    -enable-kvm



on guest w/ kernel 504:


cat /sys/devices/system/memory/memory32/state
...: No such file or directory


on guest w/ kernel 540:


cat /sys/devices/system/memory/memory32/state
online



based on above, this bug has fixed.
Comment 14 errata-xmlrpc 2015-07-22 04:25:49 EDT
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHSA-2015-1272.html

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