Re: 2.2.17pre10 pauses fixed by Andrea's VM-global-patch-1

From: Andrea Arcangeli (andrea@suse.de)
Date: Sat Jul 08 2000 - 11:33:04 EDT

  • Next message: Andrea Arcangeli: "Re: BK performance tip (22x faster)"

    On Fri, 7 Jul 2000, Chip Salzenberg wrote:

    >Good News: The pauses are *almost* completely gone after applying
    >Andrea's patch entitled "VM-global-patch-1". The kernel still pauses,

    Thanks for the feedback! However I must warn that such patch have a
    deadlock condition (pointed out by SCT, thanks!) that could cause a task
    to become unkillable in D state. It's unlikely that you can reproduce that
    without an explicit exploit though.

    The deadlock can be exploited for example by mapping a large MAP_SHARED
    file and loading the VM with dirty pages belonging to the mapping and
    writ(2)ing to the mapped file at the same time a swapped out memory area
    (I'll get rid of such deadlock condition with a new current->fs_locks
    field soon, however the new logic will only convert the deadlock condition
    to a `not being able to flush the dirty pages belonging to such file to
    disk', but there's no way we can write such dirty pages while there's a
    parallel write to the same inode with the 2.2.x VM, also kpiod can't help
    such case).

    If you don't write(2) to MAP_SHARED files, the VM-global-patch-1 should
    work fine (also with mmap002 with 8mbyte of ram).

    Andrea

    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.rutgers.edu
    Please read the FAQ at http://www.tux.org/lkml/



    This archive was generated by hypermail 2b29 : Sat Jul 08 2000 - 20:30:04 EDT