]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commitdiff
powerpc/pseries: Auto-online hotplugged memory
authorNathan Fontenot <nfont@linux.vnet.ibm.com>
Wed, 29 Jun 2016 17:19:14 +0000 (12:19 -0500)
committerMichael Ellerman <mpe@ellerman.id.au>
Fri, 15 Jul 2016 10:18:37 +0000 (20:18 +1000)
A recent update (commit id 31bc3858ea3) allows for automatically
onlining memory that is added. This patch sets the config option
CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE=y for pseries and updates the
pseries memory hotplug code so that DLPAR added memory can be
automatically onlined instead of explicitly onlining the memory.

Signed-off-by: Nathan Fontenot <nfont@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/configs/pseries_defconfig
arch/powerpc/platforms/pseries/hotplug-memory.c

index 99dec9d5f85cda2cab6a49e99cac937f04afaa68..654aeffc57efdb6ecaa5fbf08db1ec850c2f897c 100644 (file)
@@ -53,6 +53,7 @@ CONFIG_KEXEC=y
 CONFIG_IRQ_ALL_CPUS=y
 CONFIG_MEMORY_HOTPLUG=y
 CONFIG_MEMORY_HOTREMOVE=y
+CONFIG_MEMORY_HOTPLUG_DEFAULT_ONLINE=y
 CONFIG_KSM=y
 CONFIG_TRANSPARENT_HUGEPAGE=y
 CONFIG_PPC_64K_PAGES=y
index 08e51f6ef71f8664345ed81e7248b228c73f01ef..8baad183583f2e5634c87e83846b949e13014d59 100644 (file)
@@ -590,7 +590,6 @@ static int dlpar_memory_remove_by_index(u32 drc_index, struct property *prop)
 
 static int dlpar_add_lmb_memory(struct of_drconf_cell *lmb)
 {
-       struct memory_block *mem_block;
        unsigned long block_sz;
        int nid, rc;
 
@@ -611,19 +610,6 @@ static int dlpar_add_lmb_memory(struct of_drconf_cell *lmb)
                return rc;
        }
 
-       mem_block = lmb_to_memblock(lmb);
-       if (!mem_block) {
-               remove_memory(nid, lmb->base_addr, block_sz);
-               return -EINVAL;
-       }
-
-       rc = device_online(&mem_block->dev);
-       put_device(&mem_block->dev);
-       if (rc) {
-               remove_memory(nid, lmb->base_addr, block_sz);
-               return rc;
-       }
-
        lmb->flags |= DRCONF_MEM_ASSIGNED;
        return 0;
 }