lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <561f8dc7-f716-b9ae-0798-1d9274951fbf@virtualopensystems.com>
Date:   Thu, 17 Nov 2016 08:08:49 +0100
From:   Maciej Bielski <m.bielski@...tualopensystems.com>
To:     linux-kernel@...r.kernel.org
Cc:     linux-arm-kernel@...ts.infradead.org,
        Kostas Katrinis <katrinisk@...ibm.com>,
        Andrea Reale2 <REALEAN2@...ibm.com>,
        Christian Pinto <c.pinto@...tualopensystems.com>,
        VirtualOpenSystems Technical Team <tech@...tualopensystems.com>
Subject: [RFC] Memory hotplug support for ARM64

Dear All,

We are working on a series of patches that aims for implementing memory
hotplug (also hotremove after) functionality for ARM64 CPUs. There are already
existing ARM64 platforms with SO-DIMMs RAM bricks that could use such feature
([2], for example). Except for that, we would like to use it to provide runtime RAM
provisioning for Linux/KVM guests.

The process how to online new range of memory addresses is described in
Documentation/memory-hotplug.txt The idea is to make available new range of
addresses at runtime, after the brick is physically plugged in and it can be
performed via sysfs interface (more detailed description in documentation).

This feature is not currently available for ARM64 processors (the
implementation of architecture specific functions like `arch_add_memory()`
is missing for that platform). Our analysis so far has identified no technical
obstacle in porting memory hotplug to arm64, but probably this feature
was not highly desirable in the past, with ARM CPUs being deployed mostly on
portable devices without SO-DIMM slots.

Nowadays, this may change with ARM64 platform trying to enter server
market [1][2], where runtime memory reconfiguration is very important.
First, typically a server contains multiple SO-DIMM slots so additional RAM can be
physically attached. Second, it needs to be done while the machine is
running since often reboots are not acceptable in a data center. Trying to find
existing efforts towards this direction, we have only discovered that
the lack of memory hotplug/hotremove has been already spotted and mentioned as a
nice-to-have at least [3][4] but no working implementation has been found
published.

Therefore, we have planned to undertake the task of implementing kernel
support for RAM hotplug/hotunplug on ARM64 platform and achieved first optimistic
results. This particular development is performed within the scope of the
dReDBox - EC project under H2020 framework [5].

Do you see value in including such work in the mainline kernel? Any
comment is more than welcome (please add me to CC).


[1] http://events.linuxfoundation.org/sites/events/files/slides/LinuxCon_Japan_2016_ARMv4.pdf
[2] http://www.cavium.com/ThunderX_ARM_Processors.html
[3] http://lists.infradead.org/pipermail/linux-arm-kernel/2015-October/382137.html
[4] http://lists.infradead.org/pipermail/linux-arm-kernel/2015-May/341865.html
[5] http://www.dredbox.eu/


BR,

-- 
Maciej Bielski

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ