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

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


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 15 2000 - 21:00:09 EST