Re: [Bug #13319] Page allocation failures with b43 and p54usb

David Rientjes
2009-07-27T09:37:24Z

[-- Attachment #1: Type: TEXT/PLAIN, Size: 1143 bytes --]

On Mon, 27 Jul 2009, Pekka Enberg wrote:

> > Hmm, I'm remembering differently.  I thought the root problem here has
> > only been fixed in Pekka's slab-2.6.git tree with "slub: add option to
> > disable higher order debugging slabs" and isn't currently in Linus' tree.
>
> Yup, the fix is in slab.git and queued for 2.6.32. There was some
> complaints from Christoph from the patch that need to be addressed
> still.
>

>From what I recall, he asked that calculate_sizes() be called twice, first
to determine if get_order(s->size) increased as the result of the metadata
and, if so, a second time with the flags disabled.

slab_debug=O only disables debugging options that increase the min order
of slab as defined in DEBUG_FLAGS; it doesn't selectively disable some of
them when get_order(s->size) grows. So it's quite sane, like my patch
does, to disable all DEBUG_FLAGS when

get_order(s->objsize) + DEBUG_SIZE_FLAGS > get_order(s->objsize)

without calling calculate_sizes() twice.

We need DEBUG_FLAGS to determine which flags to mask off to reduce the
minimum order, so I don't see DEBUG_FLAGS_SIZE as troublesome.

Christoph?