aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/mm.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/mm.h')
-rw-r--r--include/linux/mm.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/include/linux/mm.h b/include/linux/mm.h
index 9c2695beab86..ce97a2bb0b19 100644
--- a/include/linux/mm.h
+++ b/include/linux/mm.h
@@ -450,6 +450,20 @@ static inline int compound_order(struct page *page)
450 return (unsigned long)page[1].lru.prev; 450 return (unsigned long)page[1].lru.prev;
451} 451}
452 452
453static inline int compound_trans_order(struct page *page)
454{
455 int order;
456 unsigned long flags;
457
458 if (!PageHead(page))
459 return 0;
460
461 flags = compound_lock_irqsave(page);
462 order = compound_order(page);
463 compound_unlock_irqrestore(page, flags);
464 return order;
465}
466
453static inline void set_compound_order(struct page *page, unsigned long order) 467static inline void set_compound_order(struct page *page, unsigned long order)
454{ 468{
455 page[1].lru.prev = (void *)order; 469 page[1].lru.prev = (void *)order;