page_alloc.c (4949148ad433f6f11cf837978b2907092ec99f3a) page_alloc.c (9a73f61bdb8acdc01bbaf72a3fe0a8854f2463ad)
1/*
2 * linux/mm/page_alloc.c
3 *
4 * Manages the free list, the system allocates free pages here.
5 * Note that kmalloc() lives in slab.c
6 *
7 * Copyright (C) 1991, 1992, 1993, 1994 Linus Torvalds
8 * Swap reorganised 29.12.95, Stephen Tweedie

--- 993 unchanged lines hidden (view full) ---

1002 * avoid checking PageCompound for order-0 pages.
1003 */
1004 if (unlikely(order)) {
1005 bool compound = PageCompound(page);
1006 int i;
1007
1008 VM_BUG_ON_PAGE(compound && compound_order(page) != order, page);
1009
1/*
2 * linux/mm/page_alloc.c
3 *
4 * Manages the free list, the system allocates free pages here.
5 * Note that kmalloc() lives in slab.c
6 *
7 * Copyright (C) 1991, 1992, 1993, 1994 Linus Torvalds
8 * Swap reorganised 29.12.95, Stephen Tweedie

--- 993 unchanged lines hidden (view full) ---

1002 * avoid checking PageCompound for order-0 pages.
1003 */
1004 if (unlikely(order)) {
1005 bool compound = PageCompound(page);
1006 int i;
1007
1008 VM_BUG_ON_PAGE(compound && compound_order(page) != order, page);
1009
1010 if (compound)
1011 ClearPageDoubleMap(page);
1010 for (i = 1; i < (1 << order); i++) {
1011 if (compound)
1012 bad += free_tail_pages_check(page, page + i);
1013 if (unlikely(free_pages_check(page + i))) {
1014 bad++;
1015 continue;
1016 }
1017 (page + i)->flags &= ~PAGE_FLAGS_CHECK_AT_PREP;

--- 6524 unchanged lines hidden ---
1012 for (i = 1; i < (1 << order); i++) {
1013 if (compound)
1014 bad += free_tail_pages_check(page, page + i);
1015 if (unlikely(free_pages_check(page + i))) {
1016 bad++;
1017 continue;
1018 }
1019 (page + i)->flags &= ~PAGE_FLAGS_CHECK_AT_PREP;

--- 6524 unchanged lines hidden ---