Index: linux-2.6/mm/slub.c =================================================================== --- linux-2.6.orig/mm/slub.c 2007-07-02 17:04:36.000000000 -0700 +++ linux-2.6/mm/slub.c 2007-07-03 08:39:19.000000000 -0700 @@ -101,6 +101,8 @@ #define FROZEN (1 << PG_active) +#define LOCKLESS (1 << PG_writeback) + #ifdef CONFIG_SLUB_DEBUG #define SLABDEBUG (1 << PG_error) #else @@ -122,6 +124,21 @@ page->flags &= ~FROZEN; } +static inline int SlabLockless(struct page *page) +{ + return page->flags & LOCKLESS; +} + +static inline void SetSlabLockless(struct page *page) +{ + page->flags |= LOCKLESS; +} + +static inline void ClearSlabLockless(struct page *page) +{ + page->flags &= ~LOCKLESS; +} + static inline int SlabDebug(struct page *page) { return page->flags & SLABDEBUG;