Here is just the rollback code for an allocation failure of
kmem_cache_node in halfway.
So, there is a case some of them are not allocated yet.
Any slabs don't use new kmem_cache_node before the new nodes page is
available --so far--.
But, in the future, here will be useful for node hot-unplug code,
and its check will be necessary. Ok. I'll add its check.
Do you mean that just nr_slabs should be checked like followings?
I'm not sure this is enough.
:
if (s->node[nid]) {
n = get_node(s, nid);
if (!atomic_read(&n->nr_slabs)) {
s->node[nid] = NULL;
kmem_cache_free(kmalloc_caches, n);
}
}
:
:
Thanks.
--
Yasunori Goto
-