• Andrew Morton's avatar
    [PATCH] fix uniprocessor lockups · 891975a1
    Andrew Morton authored
    I have a test_and_set_bit(PG_chainlock, page->flags) in page reclaim.
    Which works fine on SMP.  But on uniprocessor, we made
    pte_chain_unlock() a no-op, so all pages end up with PG_chainlock set.
    refill_inactive() cannot move any pages onto the inactive list and the
    machine dies.
    
    The patch removes the test_and_set_bit optimisation in there and just
    uses pte_chain_lock().  If we want that (dubious) optimisation back
    then let's do it right and create pte_chain_trylock().
    891975a1
vmscan.c 17.7 KB