--- mm/slub.c | 10 ++++++++++ 1 file changed, 10 insertions(+) Index: linux-2.6/mm/slub.c =================================================================== --- linux-2.6.orig/mm/slub.c 2007-10-18 12:23:45.000000000 -0700 +++ linux-2.6/mm/slub.c 2007-10-18 12:24:54.000000000 -0700 @@ -107,6 +107,13 @@ #define SLABDEBUG 0 #endif +/* + * The frozen bit is updated: + * 1. Before the slab is generally accessible + * 2. Under list_lock + * 3. Clearing can occur without the list_lock since + * no other processor is allowed to taouch a frozen slab. + */ static inline int SlabFrozen(struct page *page) { return page->flags & FROZEN; @@ -122,6 +129,9 @@ static inline void ClearSlabFrozen(struc page->flags &= ~FROZEN; } +/* + * Slabdebug is only set on slab creation and destruction + */ static inline int SlabDebug(struct page *page) { return page->flags & SLABDEBUG;