Messages in this thread | | | Date | Wed, 2 Jul 2008 14:00:25 +0900 | From | "MinChan Kim" <> | Subject | Re: [resend][PATCH -mm] split_lru: fix pagevec_move_tail() doesn't treat unevictable page |
| |
On Wed, Jul 2, 2008 at 12:30 PM, KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com> wrote: > Hi Kim-san, > >> Hi, Rik and Kosaki-san >> >> I want to know exact race situation for remaining git log. >> As you know, git log is important for me who is newbie to understand source >> >> There are many possibility in this race problem. >> >> Did you use hugepage in this test ? >> I think that If you used hugepage, it seems to happen following race. > > I don't use hugepage. but use SYSV-shmem. > so following scenario is very reasonable.
It is not reasonable if you don't use hugepage. That's because file's address_space is still unevictable. Am I missing your point?
I think following case is more reasonable rather than it, Please, Let you review this scenario. ---
CPU1 CPU2
shrink_[in]active_list cull_unevictable_page putback_lru_page TestClearPageUnevicetable rotate_reclaimable_page !PageUnevictable(page) add_page_to_unevictable_list pagevec_move_tail
> OK. > I resend my patch with following description. > > >> >> -------------- >> >> CPU1 CPU2 >> >> shm_unlock >> scan_mapping_unevictable_pages >> check_move_unevictable_page >> ClearPageUnevictable rotate_reclaimable_page >> >> PageUnevictable(page) return 0 >> SetPageUnevictable >> list_move(LRU_UNEVICTABLE) >> >> local_irq_save >> >> pagevec_move_tail >> >> Do you think it is possible ? > > >
-- Kinds regards, MinChan Kim
| |