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?