Message ID | 200811251358.06729.fenkes@de.ibm.com (mailing list archive) |
---|---|
State | Accepted, archived |
Commit | 6b1f9d647e848060d34c3db408413989f1e460ba |
Headers | show |
> 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.
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
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; } }
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(-)