Messages in this thread | | | Subject | Re: SLUB defrag pull request? | From | Miklos Szeredi <> | Date | Thu, 23 Oct 2008 00:10:34 +0200 |
| |
On Wed, 22 Oct 2008, Christoph Lameter wrote: > On Wed, 22 Oct 2008, Miklos Szeredi wrote: > > >> Actually, when debugging is enabled, it's customary to poison the > >> object, for example (see free_debug_processing() in mm/slub.c). So we > >> really can't "easily ensure" that in the allocator unless we by-pass > >> all the current debugging code. > > Plus the allocator may be reusing parts of the freed object for a freelist > etc even if the object is not poisoned.
Actually, no: looking at the slub code it already makes sure that objects are neither poisoned, nor touched in any way _if_ there is a constructor for the object. And for good reason too, otherwise a reused object would contain rubbish after a second allocation.
Come on guys, you should be the experts in this thing!
So again, just checking d_lru should do work fine. There's absolutely no need to mess with extra references in a separate phase, which leads to lots of complications.
Miklos
| |