LMB regression...

Paul Mackerras paulus at samba.org
Thu Apr 24 16:56:26 EST 2008


David Miller writes:

> Specifically, you removed the aligning of the size argument given to
> lmb_add_region() in the lmb allocators, and that is critical when
> allocating many small chunks, we run out of LMB slots otherwise
> and allocations start failing.

Sorry.  It's still there in lmb_alloc_nid_unreserved but I lost the
one in __lmb_alloc_base.  Are you going to send a fix to Linus, or
will I include it in the pull request I'm going to send tomorrow?

> I find it quite ironic that you spent so much time and effort fixing
> an absolutely totally theoretical bug that nobody was triggering, and
> in the process reintroduced a real one that triggers immediately on
> real systems, and that had even been explicitly fixed previously.

In fact the bug should be relatively easily triggerable in
lmb_alloc_nid as far as I can see, since it scans upwards
from zero.  It depends a bit on how memory is distributed across
nodes, but it you are allocating on the node that has the memory
starting at physical address 0, and all of the first contiguous chunk
on that node is reserved, then I think you'll hit the bug.  The only
saving grace is that lmb_alloc_nid is presently unused.

Paul.



More information about the Linuxppc-dev mailing list