X-Git-Url: https://git.karo-electronics.de/?a=blobdiff_plain;f=mm%2Fswap.c;h=d3cb966fe9920734f9c97a1fb27cdda36829f493;hb=68dff6a9af9f27df5aeee6d0339818b0e36c1b51;hp=2ed7be39795e3034986988502b75982698a1febb;hpb=9b3a89f8b052f2a6193a9691e053f986144a65a0;p=karo-tx-linux.git diff --git a/mm/swap.c b/mm/swap.c index 2ed7be39795e..d3cb966fe992 100644 --- a/mm/swap.c +++ b/mm/swap.c @@ -55,7 +55,7 @@ static void fastcall __page_cache_release(struct page *page) static void put_compound_page(struct page *page) { - page = (struct page *)page_private(page); + page = compound_head(page); if (put_page_testzero(page)) { compound_page_dtor *dtor; @@ -488,7 +488,7 @@ static int cpu_swap_callback(struct notifier_block *nfb, long *committed; committed = &per_cpu(committed_space, (long)hcpu); - if (action == CPU_DEAD) { + if (action == CPU_DEAD || action == CPU_DEAD_FROZEN) { atomic_add(*committed, &vm_committed_space); *committed = 0; __lru_add_drain((long)hcpu);