From mboxrd@z Thu Jan 1 00:00:00 1970 Date: Wed, 4 Oct 2000 10:13:52 -0400 (EDT) From: Eric Lowe Subject: Re: SMP VM race in 2.[0-4] In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-linux-mm@kvack.org Return-Path: To: Mikulas Patocka Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org List-ID: Hello, > I found a possible problem on SMP. In vmscan.c / try_to_swap_out you do > not use atomic operations for manipulating with ptes. You read the pte, > modify it and write it nonatomically. When the second CPU is running > process that turns on 'D' bit of pte while the first CPU is in > try_to_swap_out, 'D' bit is lost. Because anonymous pages have always 'D' > bit set, the bug can only affect pages mapped with MAP_SHAREAD, > PROT_WRITE. Sometimes updates are not written back to file. > You're correct. A discussion about this occurred on Linux-MM 1-2 weeks ago, and a patch followed. (Unfortunately, it's not very efficient, but I'm not sure if anyone has found a really good solution yet to this problem on any other x86 OS) Check out: http://mail.nl.linux.org/linux-mm/2000-09/ Thread: [PATCH] workaround for lost dirty bits on x86 SMP -and- Thread: [PATCH] 2.2.18pre5 version of pte dirty bit psmp race atch -- Eric Lowe FibreChannel Software Engineer, Systran Corporation elowe@systran.com -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@kvack.org. For more info on Linux MM, see: http://www.linux.eu.org/Linux-MM/