Skip to content

Commit

Permalink
powerpc/pseries/memhp: Log more error conditions in add path
Browse files Browse the repository at this point in the history
When an add operation for multiple LMBs fails, there is currently
little indication from the kernel of what went wrong. Be a little more
verbose about error conditions in the add paths.

Signed-off-by: Nathan Lynch <nathanl@linux.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://msgid.link/20231114-pseries-memhp-fixes-v1-3-fb8f2bb7c557@linux.ibm.com
  • Loading branch information
Nathan Lynch authored and Michael Ellerman committed Dec 1, 2023
1 parent bd68ffc commit 27951e1
Showing 1 changed file with 6 additions and 1 deletion.
7 changes: 6 additions & 1 deletion arch/powerpc/platforms/pseries/hotplug-memory.c
Original file line number Diff line number Diff line change
Expand Up @@ -208,8 +208,10 @@ static int dlpar_change_lmb_state(struct drmem_lmb *lmb, bool online)
int rc;

mem_block = lmb_to_memblock(lmb);
if (!mem_block)
if (!mem_block) {
pr_err("Failed memory block lookup for LMB 0x%x\n", lmb->drc_index);
return -EINVAL;
}

if (online && mem_block->dev.offline)
rc = device_online(&mem_block->dev);
Expand Down Expand Up @@ -576,6 +578,7 @@ static int dlpar_add_lmb(struct drmem_lmb *lmb)
rc = update_lmb_associativity_index(lmb);
if (rc) {
dlpar_release_drc(lmb->drc_index);
pr_err("Failed to configure LMB 0x%x\n", lmb->drc_index);
return rc;
}

Expand All @@ -589,12 +592,14 @@ static int dlpar_add_lmb(struct drmem_lmb *lmb)
/* Add the memory */
rc = __add_memory(nid, lmb->base_addr, block_sz, MHP_MEMMAP_ON_MEMORY);
if (rc) {
pr_err("Failed to add LMB 0x%x to node %u", lmb->drc_index, nid);
invalidate_lmb_associativity_index(lmb);
return rc;
}

rc = dlpar_online_lmb(lmb);
if (rc) {
pr_err("Failed to online LMB 0x%x on node %u\n", lmb->drc_index, nid);
__remove_memory(lmb->base_addr, block_sz);
invalidate_lmb_associativity_index(lmb);
} else {
Expand Down

0 comments on commit 27951e1

Please sign in to comment.