Patchwork IB/ehca: Change misleading error message

login
register
mail settings
Submitter Joachim Fenkes
Date Nov. 25, 2008, 12:58 p.m.
Message ID <200811251358.06729.fenkes@de.ibm.com>
Download mbox | patch
Permalink /patch/10622/
State Accepted
Commit 6b1f9d647e848060d34c3db408413989f1e460ba
Headers show

Comments

Joachim Fenkes - Nov. 25, 2008, 12:58 p.m.
The error message printed when the eHCA driver prevents memory hotplug is
misleading -- the user might think that hot-removing the lhca, hotplugging
memory, then hot-adding the lhca again will work, but it doesn't.

Signed-off-by: Joachim Fenkes <fenkes@de.ibm.com>
---
 drivers/infiniband/hw/ehca/ehca_main.c |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)
Roland Dreier - Nov. 25, 2008, 11:13 p.m.
> The error message printed when the eHCA driver prevents memory hotplug is
 > misleading -- the user might think that hot-removing the lhca, hotplugging
 > memory, then hot-adding the lhca again will work, but it doesn't.

That's too bad... I applied this patch but out of curiousity, why
doesn't the hot-remove/hot-add work?  I would have thought that
re-registering all of memory after the hot-add would do the right thing.
Joachim Fenkes - Nov. 26, 2008, 1:44 p.m.
Roland Dreier <rdreier@cisco.com> wrote on 26.11.2008 00:13:51:

> That's too bad... I applied this patch but out of curiousity, why
> doesn't the hot-remove/hot-add work?  I would have thought that
> re-registering all of memory after the hot-add would do the right thing.

That's right, but right now, we simply try to register all of memory from 
KERNELBASE to high_memory, which works right until we have memory holes in 
the middle; then the hypervisor will reject our page registrations. Same 
goes for huge (16GB) pages, by the way. We're working on a solution to 
this.

Cheers,
  Joachim

Patch

diff --git a/drivers/infiniband/hw/ehca/ehca_main.c b/drivers/infiniband/hw/ehca/ehca_main.c
index bb02a86..bec7e02 100644
--- a/drivers/infiniband/hw/ehca/ehca_main.c
+++ b/drivers/infiniband/hw/ehca/ehca_main.c
@@ -994,8 +994,7 @@  static int ehca_mem_notifier(struct notifier_block *nb,
 			if (printk_timed_ratelimit(&ehca_dmem_warn_time,
 						   30 * 1000))
 				ehca_gen_err("DMEM operations are not allowed"
-					     "as long as an ehca adapter is"
-					     "attached to the LPAR");
+					     "in conjunction with eHCA");
 			return NOTIFY_BAD;
 		}
 	}