Re: [PATCH] memory hotadd fixes [6/5] enhance collistion check

From: KAMEZAWA Hiroyuki
Date: Thu Aug 03 2006 - 23:19:02 EST


On Thu, 03 Aug 2006 20:09:42 -0700
keith mannthey <kmannth@xxxxxxxxxx> wrote:
> > pg_data_t *pgdat = NULL;
> > int new_pgdat = 0;
> > + struct resource *res;
> > int ret;
> >
> > + res = register_memory_resource(start, size);
> > + if (!res)
> > + return -EEXIST;
> > +
> > if (!node_online(nid)) {
> > pgdat = hotadd_new_pgdat(nid, start);
> > if (!pgdat)
> > @@ -277,14 +293,13 @@
> > BUG_ON(ret);
> > }
> >
> > - /* register this memory as resource */
> > - ret = register_memory_resource(start, size);
> > -
> > return ret;
> > error:
> > /* rollback pgdat allocation and others */
> > if (new_pgdat)
> > rollback_node_hotadd(nid, pgdat);
> > + if (res)
> > + release_memory_resource(res);
> >
>
>
> I am trying to keep add_memory non-sparsemem specific. With reserve
> memory the memory is already present and so using
> register_memory_resource as a key to find out if it is already present
> won't work.
>
Hm, okay. looks your help is necessary.

> I can build ontop of this if you want me to. I would like to test this
> to make sure it works for me. (I will do this sometime today)
>
Thanks!
-Kame

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/