Hi Sharyathi,
I'm getting a lot of these on a live x86_64 system:
if (avail > vt->kmem_max_limit) {
error(INFO,
"\"%s\" cache: shared array_cache.avail %d greater than limit
%ld\n",
si->curname, avail, vt->kmem_max_limit);
si->errors++;
FREEBUF(start_address);
return;
}
I believe that the kmem_max_limit should be be multiplied by the number
of nodes in this function, but since I have only one node, it appears that the
the "max" calculation is significantly different at init-time vs. when the kmem
command is run later? At a minimum, I would argue for noting somewhere
that vt->kmem_max_limit should be bumped up the next time the kmem
command is run. Or perhaps it should be recalculated prior to each kmem
command run?
Did you ever see this occurrance on a live ppc64 machine?
Dave