linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Nathan Fontenot <nfont@linux.vnet.ibm.com>
To: LKML <linux-kernel@vger.kernel.org>,
	linux-mm <linux-mm@kvack.org>,
	linuxppc-dev@lists.ozlabs.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	isimatu.yasuaki@jp.fujitsu.com
Subject: [PATCH 0/8] Correct memory hot add/remove for powerpc
Date: Wed, 24 Jul 2013 13:33:42 -0500	[thread overview]
Message-ID: <51F01E06.6090800@linux.vnet.ibm.com> (raw)

The current implementation of memory hot add and remove for powerpc is broken.
This patch set both corrects this issue and updates the memory hot add and
remove code for powerpc so that it can be done properly in the kernel.

The first two patches update the powerpc hot add and remove code to work with
all of the updates that have gone in to enable memory remove with sparse
vmemmap enabled. With these two patches applied the powerpc code is back to
working, but not working properly.

The remaining patches update the powerpc memory add and remove code so the
work can be done in the kernel and all while holding the memory hotplug lock.
The current powerpc implementation does some of the work in the kernel and
some of the work in userspace. While this code did work at one time, it has
a problem in that it does part of the work to add and remove memory without
holding the memory hotplug lock. In this scheme memory could be added and
removed fast enough to cause the system to crash. This was a result of
doing part of the add or remove without holding the lock.

In order to do memory hot remove in the kernel, this patch set introduces
a sysfs release file (/sys/device/system/memory/release) which one
can write the physical address of the memory to be removed to. Additionally
there is a new set of flags defined for the memory notification chain to
indicate that memory is being hot added or hot removed. This allows any work
that may need to be done prior to or after memory is hot added or removed
to be performed.

The remaining patches in the patch set update the powerpc to properly do
memory hot add and remove in the kernel.

Nathan Fontenot
---
 Documentation/memory-hotplug.txt                      |   26 ++++
 arch/powerpc/mm/mem.c                                 |   35 +++++-
 arch/powerpc/platforms/pseries/hotplug-memory.c       |   95 +---------------
 drivers/base/memory.c                                 |   81 ++++++++++++--
 linux/Documentation/memory-hotplug.txt                |   34 ++++-
 linux/arch/powerpc/Kconfig                            |    2 
 linux/arch/powerpc/mm/init_64.c                       |    6 +
 linux/arch/powerpc/mm/mem.c                           |    9 +
 linux/arch/powerpc/platforms/pseries/dlpar.c          |  103 ++++++++++++++++++
 linux/arch/powerpc/platforms/pseries/hotplug-memory.c |   60 +---------
 linux/arch/x86/Kconfig                                |    2 
 linux/drivers/base/memory.c                           |   20 +--
 linux/include/linux/memory.h                          |    6 +
 linux/mm/Kconfig                                      |    2 
 linux/mm/memory_hotplug.c                             |   25 +++-
 15 files changed, 322 insertions(+), 184 deletions(-)

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

             reply	other threads:[~2013-07-24 18:34 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-07-24 18:33 Nathan Fontenot [this message]
2013-07-24 18:35 ` [PATCH 1/8] register bootmem pages for powerpc when sparse vmemmap is not defined Nathan Fontenot
2013-08-02  2:27   ` Michael Ellerman
2013-08-02 19:04     ` Nathan Fontenot
2013-07-24 18:36 ` [PATCH 2/8] Mark powerpc memory resources as busy Nathan Fontenot
2013-08-02  2:28   ` Michael Ellerman
2013-08-02 19:05     ` Nathan Fontenot
2013-08-05  3:11       ` Michael Ellerman
2013-07-24 18:37 ` [PATCH 3/8] Add all memory via sysfs probe interface at once Nathan Fontenot
2013-08-02  2:32   ` Michael Ellerman
2013-08-02 19:13     ` Nathan Fontenot
2013-08-05  3:13       ` Michael Ellerman
2013-08-06 20:44         ` Nathan Fontenot
2013-08-09  7:16           ` Benjamin Herrenschmidt
2013-07-24 18:39 ` [PATCH 4/8] Create a sysfs release file for hot removing memory Nathan Fontenot
2013-07-24 18:41 ` [PATCH 5/8] Add notifiers for memory hot add/remove Nathan Fontenot
2013-07-24 18:44 ` [PATCH 6/8] Update the powerpc arch specific memory add/remove handlers Nathan Fontenot
2013-07-24 18:45 ` [PATCH 7/8] Add memory hot add/remove notifier handlers for pwoerpc Nathan Fontenot
2013-07-24 18:47 ` [PATCH 8/8] Remove no longer needed powerpc memory node update handler Nathan Fontenot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=51F01E06.6090800@linux.vnet.ibm.com \
    --to=nfont@linux.vnet.ibm.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=isimatu.yasuaki@jp.fujitsu.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).