• Dean Nelson's avatar
    thp: allow a hwpoisoned head page to be put back to LRU · 385de357
    Dean Nelson authored
    Andrea Arcangeli pointed out to me that a check in __memory_failure()
    which was intended to prevent THP tail pages from being checked for the
    absence of the PG_lru flag (something that is always the case), was also
    preventing THP head pages from being checked.
    
    A THP head page could actually benefit from the call to shake_page() by
    ending up being put back to a LRU, provided it had been waiting in a
    pagevec array.
    
    Andrea suggested that the "!PageTransCompound(p)" in the if-statement
    should be replaced by a "!PageTransTail(p)", thus allowing THP head pages
    to be checked and possibly shaken.
    Signed-off-by: default avatarDean Nelson <dnelson@redhat.com>
    Cc: Jin Dongming <jin.dongming@np.css.fujitsu.com>
    Reviewed-by: default avatarAndrea Arcangeli <aarcange@redhat.com>
    Cc: Andi Kleen <andi@firstfloor.org>
    Cc: Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    385de357
memory-failure.c 41.7 KB