Gitweb:
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5577bd8a85c8b7643a241789b14fafa9c8a6c7db
Commit: 5577bd8a85c8b7643a241789b14fafa9c8a6c7db
Parent: eefaca9c3246f3daf56e7ed02987f79abcee7087
Author: Christoph Lameter <[EMAIL PROTECTED]>
AuthorDate: Wed May 16 22:10:56 2007 -0700
Committer: Linus Torvalds <[EMAIL PROTECTED]>
CommitDate: Thu May 17 05:23:03 2007 -0700
SLUB: Do our own flags based on PG_active and PG_error
The atomicity when handling flags in SLUB is not necessary since both flags
used by SLUB are not updated in a racy way. Flag updates are either done
during slab creation or destruction or under slab_lock. Some of these flags
do not have the non atomic variants that we need. So define our own.
Signed-off-by: Christoph Lameter <[EMAIL PROTECTED]>
Signed-off-by: Andrew Morton <[EMAIL PROTECTED]>
Signed-off-by: Linus Torvalds <[EMAIL PROTECTED]>
---
mm/slub.c | 28 ++++++++++++++--------------
1 files changed, 14 insertions(+), 14 deletions(-)
diff --git a/mm/slub.c b/mm/slub.c
index ce96d48..3ca164f 100644
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -99,42 +99,42 @@
* 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;
}
/*
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html