i386/61852: i386 pmap SMP race condition can cause lost page
ups at tree.com
Sat Jan 24 15:41:03 PST 2004
>Synopsis: i386 pmap SMP race condition can cause lost page modification.
>Arrival-Date: Sat Jan 24 15:40:08 PST 2004
>Originator: Stephan Uphoff
The current i386 pmap does not always atomically change ptes.
( Only clearing a pte is currently atomic)
This causes a window where setting of PG_A or PG_M of the pte
caused by page access of a second CPU can be ignored or overwritten
Lost PG_M bits can cause data loss.
(Page not written to backing storage)
Import the pte update logic from the newest NetBSD pmap.
The NetBSD pmap also tries to avoid unnecessary TLB shootdowns.
More information about the freebsd-i386