--- mm/slub.c | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) Index: slub/mm/slub.c =================================================================== --- slub.orig/mm/slub.c 2007-05-15 11:42:16.000000000 -0700 +++ slub/mm/slub.c 2007-05-15 15:39:48.000000000 -0700 @@ -99,42 +99,43 @@ * the fast path and disables lockless freelists. */ +#define FROZEN (1 << PG_active) + +#ifdef CONFIG_SLUB_DEBUG +#define SLABDEBUG (1 << PG_error) +#else +#define SLABDEBUG 0 +#endif + + static inline int SlabFrozen(struct page *page) { - return PageActive(page); + return page->flags & FROZEN; } static inline void SetSlabFrozen(struct page *page) { - SetPageActive(page); + page->flags |= FROZEN; } static inline void ClearSlabFrozen(struct page *page) { - __ClearPageActive(page); + page->flags &= ~FROZEN; } static inline int SlabDebug(struct page *page) { -#ifdef CONFIG_SLUB_DEBUG - return PageError(page); -#else - return 0; -#endif + return page->flags & SLABDEBUG; } static inline void SetSlabDebug(struct page *page) { -#ifdef CONFIG_SLUB_DEBUG - SetPageError(page); -#endif + page->flags |= SLABDEBUG; } static inline void ClearSlabDebug(struct page *page) { -#ifdef CONFIG_SLUB_DEBUG - ClearPageError(page); -#endif + page->flags &= ~SLABDEBUG; } /*