Thread (2 messages) 2 messages, 2 authors, 2000-08-18

Re: filemap.c SMP bug in 2.4.0-test* (fwd)

From: Andrea Arcangeli <hidden>
Date: 2000-08-18 12:49:38

Proc A                                Proc B
page faults
...
read_swap_cache_async
 lookup_swap_cache fails twice       page faults (same page)
                                     ...
                                     read_swap_cache_async
 init of page info (insert in
 hash tables...)
as first on proc B read_swap_cache_async can't be started in between the
second fail of the lookup and the init of the page info and insert
hashtables on proc A, because of the big kernel lock.
                                     lookup_swap_cache
                                 __find_page_nolock
                                        (succeeds, page not active
                                         activate)
The page is inserted locked into the hashtable and lookup_swap_cache uses
find_lock_page so it can't race.

Andrea

--
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/
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help