Skip to contentSkip to conversation

Patch "powerpc/pseries: Don't attempt to acquire drc during memory hot add for assigned lmbs" has been added to the 4.13-stable tree

PATCH [email protected] 1 participant 1 message Sep 22, 2017

Subsystems (2)
lore
Share & tools
lore

[email protected]

author maintainer Applied
#0 lore raw

This is a note to let you know that I've just added the patch titled

powerpc/pseries: Don't attempt to acquire drc during memory hot add for assigned lmbs

to the 4.13-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
powerpc-pseries-don-t-attempt-to-acquire-drc-during-memory-hot-add-for-assigned-lmbs.patch
and it can be found in the queue-4.13 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.

Quoted 1 line

From afb5519fdb346201728040cab4e08ce53e7ff4fd Mon Sep 17 00:00:00 2001

From: John Allen <[email protected]>
Date: Wed, 23 Aug 2017 12:18:43 -0500
Subject: powerpc/pseries: Don't attempt to acquire drc during memory hot add for assigned lmbs

From: John Allen <[email protected]>

commit afb5519fdb346201728040cab4e08ce53e7ff4fd upstream.

Check if an LMB is assigned before attempting to call dlpar_acquire_drc in order to avoid any unnecessary rtas calls. This substantially reduces the running time of memory hot add on lpars with large amounts of memory.

[mpe: We need to explicitly set rc to 0 in the success case, otherwise
the compiler might think we use rc without initialising it.]

Fixes c21f515c7436 ("powerpc/pseries: Make the acquire/release of the drc for memory a seperate step")
---
 arch/powerpc/platforms/pseries/hotplug-memory.c |    4 ++++
 1 file changed, 4 insertions(+)
arch/powerpc/platforms/pseries/hotplug-memory.c +4 -0
@@ -817,6 +817,9 @@ static int dlpar_memory_add_by_count(u32
 		return -EINVAL;
 
 	for (i = 0; i < num_lmbs && lmbs_to_add != lmbs_added; i++) {
+		if (lmbs[i].flags & DRCONF_MEM_ASSIGNED)
+			continue;
+
 		rc = dlpar_acquire_drc(lmbs[i].drc_index);
 		if (rc)
 			continue;
@@ -859,6 +862,7 @@ static int dlpar_memory_add_by_count(u32
 				lmbs[i].base_addr, lmbs[i].drc_index);
 			lmbs[i].reserved = 0;
 		}
+		rc = 0;
 	}
 
 	return rc;

Patches currently in stable-queue which might be from [email protected] are

queue-4.13/powerpc-pseries-don-t-attempt-to-acquire-drc-during-memory-hot-add-for-assigned-lmbs.patch