Messages in this thread |  | | Date | Wed, 4 Oct 2000 16:04:47 +0200 (CEST) | From | Mikulas Patocka <> | Subject | SMP VM race in 2.[0-4] |
| |
Hi.
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.
Mikulas
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org Please read the FAQ at http://www.tux.org/lkml/
|  |