diff options
Diffstat (limited to 'mm/swap.c')
-rw-r--r-- | mm/swap.c | 6 |
1 files changed, 4 insertions, 2 deletions
@@ -57,9 +57,9 @@ static void put_compound_page(struct page *page) | |||
57 | { | 57 | { |
58 | page = (struct page *)page_private(page); | 58 | page = (struct page *)page_private(page); |
59 | if (put_page_testzero(page)) { | 59 | if (put_page_testzero(page)) { |
60 | void (*dtor)(struct page *page); | 60 | compound_page_dtor *dtor; |
61 | 61 | ||
62 | dtor = (void (*)(struct page *))page[1].lru.next; | 62 | dtor = get_compound_page_dtor(page); |
63 | (*dtor)(page); | 63 | (*dtor)(page); |
64 | } | 64 | } |
65 | } | 65 | } |
@@ -514,5 +514,7 @@ void __init swap_setup(void) | |||
514 | * Right now other parts of the system means that we | 514 | * Right now other parts of the system means that we |
515 | * _really_ don't want to cluster much more | 515 | * _really_ don't want to cluster much more |
516 | */ | 516 | */ |
517 | #ifdef CONFIG_HOTPLUG_CPU | ||
517 | hotcpu_notifier(cpu_swap_callback, 0); | 518 | hotcpu_notifier(cpu_swap_callback, 0); |
519 | #endif | ||
518 | } | 520 | } |