• Hugh Dickins's avatar
    [PATCH] tmpfs swapoff deadlock · a2495207
    Hugh Dickins authored
    tmpfs 1/5 swapoff deadlock: my igrab/iput around the yield in
    shmem_unuse_inode was rubbish, seems my testing never really hit the
    case until last week, when truncation of course deadlocked on the page
    held locked across the iput (at least I had the foresight to say "ugh!"
    there).  Don't yield here, switch over to the simple backoff I'd been
    using for months in the loopable tmpfs patch (yes, it could loop
    indefinitely for memory, that's already an issue to be dealt with
    later).  The return convention from shmem_unuse to try_to_unuse is
    inelegant (commented at both ends), but effective.
    a2495207
shmem.c 40.9 KB