Re: [PATCH] THP: Use explicit memory barrier

2013-04-04 Thread Andrea Arcangeli
On Wed, Apr 03, 2013 at 09:14:01AM +0900, Minchan Kim wrote: > clear_huge_page(page, haddr, HPAGE_PMD_NR); > + /* > + * The memory barrier inside __SetPageUptodate makes sure that > + * clear_huge_page writes become visible after the set_pmd_at() s/after/before/ > + *

Re: [PATCH] THP: Use explicit memory barrier

2013-04-04 Thread Andrea Arcangeli
On Wed, Apr 03, 2013 at 09:14:01AM +0900, Minchan Kim wrote: clear_huge_page(page, haddr, HPAGE_PMD_NR); + /* + * The memory barrier inside __SetPageUptodate makes sure that + * clear_huge_page writes become visible after the set_pmd_at() s/after/before/ + * write.

Re: [PATCH] THP: Use explicit memory barrier

2013-04-03 Thread Simon Jeons
Hi Minchan, On 04/01/2013 07:45 AM, Minchan Kim wrote: __do_huge_pmd_anonymous_page depends on page_add_new_anon_rmap's spinlock for making sure that clear_huge_page write become visible after set set_pmd_at() write. 1. There are no pte modify, why take page_table_lock here? 2. What's the

Re: [PATCH] THP: Use explicit memory barrier

2013-04-03 Thread Simon Jeons
Hi Minchan, On 04/01/2013 07:45 AM, Minchan Kim wrote: __do_huge_pmd_anonymous_page depends on page_add_new_anon_rmap's spinlock for making sure that clear_huge_page write become visible after set set_pmd_at() write. 1. There are no pte modify, why take page_table_lock here? 2. What's the

Re: [PATCH] THP: Use explicit memory barrier

2013-04-02 Thread Minchan Kim
On Tue, Apr 02, 2013 at 12:30:15PM -0700, Hugh Dickins wrote: > On Tue, 2 Apr 2013, Minchan Kim wrote: > > On Mon, Apr 01, 2013 at 04:35:38PM -0700, David Rientjes wrote: > > > On Mon, 1 Apr 2013, Minchan Kim wrote: > > > > > > > __do_huge_pmd_anonymous_page depends on page_add_new_anon_rmap's >

Re: [PATCH] THP: Use explicit memory barrier

2013-04-02 Thread Hugh Dickins
On Tue, 2 Apr 2013, Minchan Kim wrote: > On Mon, Apr 01, 2013 at 04:35:38PM -0700, David Rientjes wrote: > > On Mon, 1 Apr 2013, Minchan Kim wrote: > > > > > __do_huge_pmd_anonymous_page depends on page_add_new_anon_rmap's > > > spinlock for making sure that clear_huge_page write become visible >

Re: [PATCH] THP: Use explicit memory barrier

2013-04-02 Thread David Rientjes
On Tue, 2 Apr 2013, Minchan Kim wrote: > Yes and Peter pointed out further step. > Thanks for pointing out. > Not that I know that Andrea alreay noticed it, I don't care about this > patch. > Andrea, do you have time to send c08e0c9ee786 ("thp: add memory barrier to

Re: [PATCH] THP: Use explicit memory barrier

2013-04-02 Thread David Rientjes
On Tue, 2 Apr 2013, Minchan Kim wrote: Yes and Peter pointed out further step. Thanks for pointing out. Not that I know that Andrea alreay noticed it, I don't care about this patch. Andrea, do you have time to send c08e0c9ee786 (thp: add memory barrier to __do_huge_pmd_anonymous_page)

Re: [PATCH] THP: Use explicit memory barrier

2013-04-02 Thread Hugh Dickins
On Tue, 2 Apr 2013, Minchan Kim wrote: On Mon, Apr 01, 2013 at 04:35:38PM -0700, David Rientjes wrote: On Mon, 1 Apr 2013, Minchan Kim wrote: __do_huge_pmd_anonymous_page depends on page_add_new_anon_rmap's spinlock for making sure that clear_huge_page write become visible after set

Re: [PATCH] THP: Use explicit memory barrier

2013-04-02 Thread Minchan Kim
On Tue, Apr 02, 2013 at 12:30:15PM -0700, Hugh Dickins wrote: On Tue, 2 Apr 2013, Minchan Kim wrote: On Mon, Apr 01, 2013 at 04:35:38PM -0700, David Rientjes wrote: On Mon, 1 Apr 2013, Minchan Kim wrote: __do_huge_pmd_anonymous_page depends on page_add_new_anon_rmap's spinlock

Re: [PATCH] THP: Use explicit memory barrier

2013-04-01 Thread Minchan Kim
On Mon, Apr 01, 2013 at 04:35:38PM -0700, David Rientjes wrote: > On Mon, 1 Apr 2013, Minchan Kim wrote: > > > __do_huge_pmd_anonymous_page depends on page_add_new_anon_rmap's > > spinlock for making sure that clear_huge_page write become visible > > after set set_pmd_at() write. > > > > But

Re: [PATCH] THP: Use explicit memory barrier

2013-04-01 Thread David Rientjes
On Mon, 1 Apr 2013, Minchan Kim wrote: > __do_huge_pmd_anonymous_page depends on page_add_new_anon_rmap's > spinlock for making sure that clear_huge_page write become visible > after set set_pmd_at() write. > > But lru_cache_add_lru uses pagevec so it could miss spinlock > easily so above rule

Re: [PATCH] THP: Use explicit memory barrier

2013-04-01 Thread David Rientjes
On Mon, 1 Apr 2013, Minchan Kim wrote: __do_huge_pmd_anonymous_page depends on page_add_new_anon_rmap's spinlock for making sure that clear_huge_page write become visible after set set_pmd_at() write. But lru_cache_add_lru uses pagevec so it could miss spinlock easily so above rule was

Re: [PATCH] THP: Use explicit memory barrier

2013-04-01 Thread Minchan Kim
On Mon, Apr 01, 2013 at 04:35:38PM -0700, David Rientjes wrote: On Mon, 1 Apr 2013, Minchan Kim wrote: __do_huge_pmd_anonymous_page depends on page_add_new_anon_rmap's spinlock for making sure that clear_huge_page write become visible after set set_pmd_at() write. But

Re: [PATCH] THP: Use explicit memory barrier

2013-03-31 Thread Minchan Kim
Hey Kame, On Mon, Apr 01, 2013 at 10:01:49AM +0900, Kamezawa Hiroyuki wrote: > (2013/04/01 8:45), Minchan Kim wrote: > > __do_huge_pmd_anonymous_page depends on page_add_new_anon_rmap's > > spinlock for making sure that clear_huge_page write become visible > > after set set_pmd_at() write. > > >

Re: [PATCH] THP: Use explicit memory barrier

2013-03-31 Thread Kamezawa Hiroyuki
(2013/04/01 8:45), Minchan Kim wrote: > __do_huge_pmd_anonymous_page depends on page_add_new_anon_rmap's > spinlock for making sure that clear_huge_page write become visible > after set set_pmd_at() write. > > But lru_cache_add_lru uses pagevec so it could miss spinlock > easily so above rule was

[PATCH] THP: Use explicit memory barrier

2013-03-31 Thread Minchan Kim
__do_huge_pmd_anonymous_page depends on page_add_new_anon_rmap's spinlock for making sure that clear_huge_page write become visible after set set_pmd_at() write. But lru_cache_add_lru uses pagevec so it could miss spinlock easily so above rule was broken so user may see inconsistent data. This

[PATCH] THP: Use explicit memory barrier

2013-03-31 Thread Minchan Kim
__do_huge_pmd_anonymous_page depends on page_add_new_anon_rmap's spinlock for making sure that clear_huge_page write become visible after set set_pmd_at() write. But lru_cache_add_lru uses pagevec so it could miss spinlock easily so above rule was broken so user may see inconsistent data. This

Re: [PATCH] THP: Use explicit memory barrier

2013-03-31 Thread Kamezawa Hiroyuki
(2013/04/01 8:45), Minchan Kim wrote: __do_huge_pmd_anonymous_page depends on page_add_new_anon_rmap's spinlock for making sure that clear_huge_page write become visible after set set_pmd_at() write. But lru_cache_add_lru uses pagevec so it could miss spinlock easily so above rule was

Re: [PATCH] THP: Use explicit memory barrier

2013-03-31 Thread Minchan Kim
Hey Kame, On Mon, Apr 01, 2013 at 10:01:49AM +0900, Kamezawa Hiroyuki wrote: (2013/04/01 8:45), Minchan Kim wrote: __do_huge_pmd_anonymous_page depends on page_add_new_anon_rmap's spinlock for making sure that clear_huge_page write become visible after set set_pmd_at() write. But