Bug 1320534

Summary: udev rules should hotadd memory as online_movable
Product: Red Hat Enterprise Linux 7 Reporter: Milan Zamazal <mzamazal>
Component: systemdAssignee: systemd-maint
Status: CLOSED DUPLICATE QA Contact: qe-baseos-daemons
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 7.2CC: jniu, msekleta, ruyang, s.kieske, systemd-maint-list, wdavis
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-07-23 07:42:16 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 1314306    
Bug Blocks: 1228543, 1297611, 1500891, 1567714    

Description Milan Zamazal 2016-03-23 12:38:07 UTC
Description of problem:

File /usr/lib/udev/rules.d/40-redhat.rules contains the following line:

  SUBSYSTEM=="memory", ACTION=="add", ATTR{state}=="offline", ATTR{state}="online"

This ensures that hotplugged memory gets available to the system.  In order to be able to hotunplug the hotplugged memory later, its state should be set to `online_movable' instead of `online'.  Otherwise the system may allocate kernel pages in the hotplugged memory, preventing its removal.  To avoid this problem the rule should look like

  SUBSYSTEM=="memory", ACTION=="add", ATTR{state}=="offline", ATTR{state}="online_movable"

However, there is a kernel bug that prevents this simple change from working, see https://bugzilla.redhat.com/1314306.  It's not possible to set memory blocks as online_movable in random order (it results in "Permission denied" failures), the state must be changed from the highest numbered plugged memory block to the lowest one.  So either the kernel bug should be fixed before the change, or the udev rules should ensure changing the state of the memory blocks to `online_movable' in the proper order (from the highest to the lowest memory block).

Version-Release number of selected component (if applicable):

219-19.el7_2.4.x86_64

Comment 1 Michal Sekletar 2016-03-23 14:10:37 UTC
Milan, is "online_moveable" also supported by RHEL-6 kernel?

Comment 2 Milan Zamazal 2016-03-23 14:39:29 UTC
(In reply to Michal Sekletar from comment #1)
> Milan, is "online_moveable" also supported by RHEL-6 kernel?

I don't know, we in RHEV don't need that feature on RHEL-6.

(BTW, beware it's online_movable, not online_moveable.)

Comment 3 Lukáš Nykrýn 2016-03-23 15:36:53 UTC
 So either the kernel bug should be
> fixed before the change, or the udev rules should ensure changing the state
> of the memory blocks to `online_movable' in the proper order (from the
> highest to the lowest memory block).

We can't do any ordering of events in udev, so lets wait for the kernel fix.

Comment 4 Sven Kieske 2016-03-24 13:52:39 UTC
may I ask to open https://bugzilla.redhat.com/show_bug.cgi?id=1314306 to the public? I can not view it's content.

kind regards

Sven

Comment 7 Dave Young 2018-07-23 07:42:16 UTC

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

Comment 8 Sven Kieske 2018-07-24 14:49:43 UTC
(In reply to Sven Kieske from comment #4)
> may I ask to open https://bugzilla.redhat.com/show_bug.cgi?id=1314306 to the
> public? I can not view it's content.
> 
> kind regards
> 
> Sven

the same applies to:

https://bugzilla.redhat.com/show_bug.cgi?id=1563532

this bug is not accessible to me