|
@@ -362,7 +362,7 @@ static inline void ClearPageCompound(struct page *page)
|
|
|
* pages on the LRU and/or pagecache.
|
|
|
*/
|
|
|
TESTPAGEFLAG(Compound, compound)
|
|
|
-__PAGEFLAG(Head, compound)
|
|
|
+__SETPAGEFLAG(Head, compound) __CLEARPAGEFLAG(Head, compound)
|
|
|
|
|
|
/*
|
|
|
* PG_reclaim is used in combination with PG_compound to mark the
|
|
@@ -374,8 +374,14 @@ __PAGEFLAG(Head, compound)
|
|
|
* PG_compound & PG_reclaim => Tail page
|
|
|
* PG_compound & ~PG_reclaim => Head page
|
|
|
*/
|
|
|
+#define PG_head_mask ((1L << PG_compound))
|
|
|
#define PG_head_tail_mask ((1L << PG_compound) | (1L << PG_reclaim))
|
|
|
|
|
|
+static inline int PageHead(struct page *page)
|
|
|
+{
|
|
|
+ return ((page->flags & PG_head_tail_mask) == PG_head_mask);
|
|
|
+}
|
|
|
+
|
|
|
static inline int PageTail(struct page *page)
|
|
|
{
|
|
|
return ((page->flags & PG_head_tail_mask) == PG_head_tail_mask);
|