All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andi Kleen <andi@firstfloor.org>
To: Arjan van de Ven <arjan@infradead.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>,
	"Paul E. McKenney" <paulmck@linux.vnet.ibm.com>,
	Peter Zijlstra <peterz@infradead.org>,
	KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-mm@kvack.org" <linux-mm@kvack.org>,
	"minchan.kim@gmail.com" <minchan.kim@gmail.com>,
	cl@linux-foundation.org,
	"hugh.dickins" <hugh.dickins@tiscali.co.uk>,
	Nick Piggin <nickpiggin@yahoo.com.au>,
	Ingo Molnar <mingo@elte.hu>,
	Linus Torvalds <torvalds@linux-foundation.org>
Subject: Re: [RFC][PATCH 6/8] mm: handle_speculative_fault()
Date: Tue, 05 Jan 2010 15:15:15 +0100	[thread overview]
Message-ID: <87637gd4ek.fsf@basil.nowhere.org> (raw)
In-Reply-To: <20100105054536.44bf8002@infradead.org> (Arjan van de Ven's message of "Tue, 5 Jan 2010 05:45:36 -0800")

Arjan van de Ven <arjan@infradead.org> writes:

> On Mon, 04 Jan 2010 19:24:35 +0100
> Peter Zijlstra <a.p.zijlstra@chello.nl> wrote:
>
>> Generic speculative fault handler, tries to service a pagefault
>> without holding mmap_sem.
>
>
> while I appreciate the goal of reducing contention on this lock...
> wouldn't step one be to remove the page zeroing from under this lock?
> that's by far (easily by 10x I would guess) the most expensive thing
> that's done under the lock, and I would expect a first order of
> contention reduction just by having the zeroing of a page not done
> under the lock...

The cache line bouncing of the shared cache lines hurts too.

I suspect fixing this all properly will need some deeper changes.

-Andi
-- 
ak@linux.intel.com -- Speaking for myself only.

WARNING: multiple messages have this Message-ID (diff)
From: Andi Kleen <andi@firstfloor.org>
To: Arjan van de Ven <arjan@infradead.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>,
	"Paul E. McKenney" <paulmck@linux.vnet.ibm.com>,
	Peter Zijlstra <peterz@infradead.org>,
	KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"linux-mm@kvack.org" <linux-mm@kvack.org>,
	"minchan.kim@gmail.com" <minchan.kim@gmail.com>,
	cl@linux-foundation.org,
	"hugh.dickins" <hugh.dickins@tiscali.co.uk>,
	Nick Piggin <nickpiggin@yahoo.com.au>,
	Ingo Molnar <mingo@elte.hu>,
	Linus Torvalds <torvalds@linux-foundation.org>
Subject: Re: [RFC][PATCH 6/8] mm: handle_speculative_fault()
Date: Tue, 05 Jan 2010 15:15:15 +0100	[thread overview]
Message-ID: <87637gd4ek.fsf@basil.nowhere.org> (raw)
In-Reply-To: <20100105054536.44bf8002@infradead.org> (Arjan van de Ven's message of "Tue, 5 Jan 2010 05:45:36 -0800")

Arjan van de Ven <arjan@infradead.org> writes:

> On Mon, 04 Jan 2010 19:24:35 +0100
> Peter Zijlstra <a.p.zijlstra@chello.nl> wrote:
>
>> Generic speculative fault handler, tries to service a pagefault
>> without holding mmap_sem.
>
>
> while I appreciate the goal of reducing contention on this lock...
> wouldn't step one be to remove the page zeroing from under this lock?
> that's by far (easily by 10x I would guess) the most expensive thing
> that's done under the lock, and I would expect a first order of
> contention reduction just by having the zeroing of a page not done
> under the lock...

The cache line bouncing of the shared cache lines hurts too.

I suspect fixing this all properly will need some deeper changes.

-Andi
-- 
ak@linux.intel.com -- Speaking for myself only.

--
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-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

  reply	other threads:[~2010-01-05 14:15 UTC|newest]

Thread overview: 239+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-01-04 18:24 [RFC][PATCH 0/8] Speculative pagefault -v3 Peter Zijlstra
2010-01-04 18:24 ` Peter Zijlstra
2010-01-04 18:24 ` [RFC][PATCH 1/8] mm: Remove pte reference from fault path Peter Zijlstra
2010-01-04 18:24   ` Peter Zijlstra
2010-01-04 18:24 ` [RFC][PATCH 2/8] mm: Speculative pagefault infrastructure Peter Zijlstra
2010-01-04 18:24   ` Peter Zijlstra
2010-01-04 18:24 ` [RFC][PATCH 3/8] mm: Add vma sequence count Peter Zijlstra
2010-01-04 18:24   ` Peter Zijlstra
2010-01-04 18:24 ` [RFC][PATCH 4/8] mm: RCU free vmas Peter Zijlstra
2010-01-04 18:24   ` Peter Zijlstra
2010-01-05  2:43   ` Paul E. McKenney
2010-01-05  2:43     ` Paul E. McKenney
2010-01-05  8:28     ` Peter Zijlstra
2010-01-05  8:28       ` Peter Zijlstra
2010-01-05 16:05       ` Paul E. McKenney
2010-01-05 16:05         ` Paul E. McKenney
2010-01-04 18:24 ` [RFC][PATCH 5/8] mm: Speculative pte_map_lock() Peter Zijlstra
2010-01-04 18:24   ` Peter Zijlstra
2010-01-04 18:24 ` [RFC][PATCH 6/8] mm: handle_speculative_fault() Peter Zijlstra
2010-01-04 18:24   ` Peter Zijlstra
2010-01-05  0:25   ` KAMEZAWA Hiroyuki
2010-01-05  0:25     ` KAMEZAWA Hiroyuki
2010-01-05  3:13     ` Linus Torvalds
2010-01-05  3:13       ` Linus Torvalds
2010-01-05  8:17       ` Peter Zijlstra
2010-01-05  8:17         ` Peter Zijlstra
2010-01-05  8:57       ` Peter Zijlstra
2010-01-05  8:57         ` Peter Zijlstra
2010-01-05 15:34         ` Linus Torvalds
2010-01-05 15:34           ` Linus Torvalds
2010-01-05 15:40           ` Al Viro
2010-01-05 15:40             ` Al Viro
2010-01-05 16:10             ` Linus Torvalds
2010-01-05 16:10               ` Linus Torvalds
2010-01-06 15:41               ` Peter Zijlstra
2010-01-06 15:41                 ` Peter Zijlstra
2010-01-05  9:37       ` Peter Zijlstra
2010-01-05  9:37         ` Peter Zijlstra
2010-01-05 23:35         ` Linus Torvalds
2010-01-05 23:35           ` Linus Torvalds
2010-01-05  4:29     ` Minchan Kim
2010-01-05  4:29       ` Minchan Kim
2010-01-05  4:43       ` KAMEZAWA Hiroyuki
2010-01-05  4:43         ` KAMEZAWA Hiroyuki
2010-01-05  5:10         ` Linus Torvalds
2010-01-05  5:10           ` Linus Torvalds
2010-01-05  5:30           ` KAMEZAWA Hiroyuki
2010-01-05  5:30             ` KAMEZAWA Hiroyuki
2010-01-05  7:39             ` KAMEZAWA Hiroyuki
2010-01-05 15:26               ` Linus Torvalds
2010-01-05 15:26                 ` Linus Torvalds
2010-01-05 16:14                 ` Linus Torvalds
2010-01-05 16:14                   ` Linus Torvalds
2010-01-05 17:25                   ` Andi Kleen
2010-01-05 17:25                     ` Andi Kleen
2010-01-05 17:47                     ` Christoph Lameter
2010-01-05 17:47                       ` Christoph Lameter
2010-01-05 18:00                       ` Andi Kleen
2010-01-05 18:00                         ` Andi Kleen
2010-01-05 17:55                     ` Linus Torvalds
2010-01-05 17:55                       ` Linus Torvalds
2010-01-05 18:13                       ` Christoph Lameter
2010-01-05 18:13                         ` Christoph Lameter
2010-01-05 18:25                         ` Linus Torvalds
2010-01-05 18:25                           ` Linus Torvalds
2010-01-05 18:46                           ` Christoph Lameter
2010-01-05 18:46                             ` Christoph Lameter
2010-01-05 18:56                             ` Linus Torvalds
2010-01-05 18:56                               ` Linus Torvalds
2010-01-05 19:15                               ` Christoph Lameter
2010-01-05 19:15                                 ` Christoph Lameter
2010-01-05 19:28                                 ` Linus Torvalds
2010-01-05 19:28                                   ` Linus Torvalds
2010-01-05 18:55                           ` Paul E. McKenney
2010-01-05 18:55                             ` Paul E. McKenney
2010-01-05 19:08                             ` Linus Torvalds
2010-01-05 19:08                               ` Linus Torvalds
2010-01-05 19:23                               ` Paul E. McKenney
2010-01-05 19:23                                 ` Paul E. McKenney
2010-01-05 20:29                           ` Peter Zijlstra
2010-01-05 20:29                             ` Peter Zijlstra
2010-01-05 20:46                             ` Linus Torvalds
2010-01-05 20:46                               ` Linus Torvalds
2010-01-05 21:00                               ` Linus Torvalds
2010-01-05 21:00                                 ` Linus Torvalds
2010-01-05 23:29                             ` Paul E. McKenney
2010-01-05 23:29                               ` Paul E. McKenney
2010-01-06  0:22                 ` KAMEZAWA Hiroyuki
2010-01-06  0:22                   ` KAMEZAWA Hiroyuki
2010-01-06  1:37                   ` Linus Torvalds
2010-01-06  1:37                     ` Linus Torvalds
2010-01-06  2:52                     ` KAMEZAWA Hiroyuki
2010-01-06  2:52                       ` KAMEZAWA Hiroyuki
2010-01-06  3:27                       ` Linus Torvalds
2010-01-06  3:27                         ` Linus Torvalds
2010-01-06  3:56                         ` KAMEZAWA Hiroyuki
2010-01-06  3:56                           ` KAMEZAWA Hiroyuki
2010-01-06  4:20                           ` Linus Torvalds
2010-01-06  4:20                             ` Linus Torvalds
2010-01-06  7:06                             ` KAMEZAWA Hiroyuki
2010-01-06  7:49                               ` Minchan Kim
2010-01-06  7:49                                 ` Minchan Kim
2010-01-06  9:39                               ` Linus Torvalds
2010-01-06  9:39                                 ` Linus Torvalds
2010-01-07  1:00                                 ` KAMEZAWA Hiroyuki
2010-01-07  1:00                                   ` KAMEZAWA Hiroyuki
2010-01-08 16:53                             ` Peter Zijlstra
2010-01-08 16:53                               ` Peter Zijlstra
2010-01-08 17:22                               ` Linus Torvalds
2010-01-08 17:22                                 ` Linus Torvalds
2010-01-08 17:43                                 ` Christoph Lameter
2010-01-08 17:43                                   ` Christoph Lameter
2010-01-08 17:52                                   ` Linus Torvalds
2010-01-08 17:52                                     ` Linus Torvalds
2010-01-08 18:33                                     ` Christoph Lameter
2010-01-08 18:33                                       ` Christoph Lameter
2010-01-08 18:46                                   ` Andi Kleen
2010-01-08 18:46                                     ` Andi Kleen
2010-01-08 18:56                                     ` Christoph Lameter
2010-01-08 18:56                                       ` Christoph Lameter
2010-01-08 19:10                                       ` Andi Kleen
2010-01-08 19:10                                         ` Andi Kleen
2010-01-08 19:11                                       ` Linus Torvalds
2010-01-08 19:11                                         ` Linus Torvalds
2010-01-08 19:28                                         ` Andi Kleen
2010-01-08 19:28                                           ` Andi Kleen
2010-01-08 19:39                                           ` Linus Torvalds
2010-01-08 19:39                                             ` Linus Torvalds
2010-01-08 19:42                                             ` Linus Torvalds
2010-01-08 19:42                                               ` Linus Torvalds
2010-01-08 21:36                                   ` Linus Torvalds
2010-01-08 21:36                                     ` Linus Torvalds
2010-01-08 21:46                                     ` Christoph Lameter
2010-01-08 21:46                                       ` Christoph Lameter
2010-01-08 22:43                                       ` Linus Torvalds
2010-01-08 22:43                                         ` Linus Torvalds
2010-01-08 22:43                                       ` Linus Torvalds
2010-01-09 14:47                               ` Ed Tomlinson
2010-01-09 14:47                                 ` Ed Tomlinson
2010-01-10  5:27                                 ` Nitin Gupta
2010-01-10  5:27                                   ` Nitin Gupta
2010-01-05 15:14             ` Christoph Lameter
2010-01-05 15:14               ` Christoph Lameter
2010-01-05  8:18           ` Peter Zijlstra
2010-01-05  8:18             ` Peter Zijlstra
2010-01-05  6:00         ` Minchan Kim
2010-01-05  6:00           ` Minchan Kim
2010-01-05  4:48       ` Linus Torvalds
2010-01-05  4:48         ` Linus Torvalds
2010-01-05  6:09         ` Minchan Kim
2010-01-05  6:09           ` Minchan Kim
2010-01-05  6:09           ` KAMEZAWA Hiroyuki
2010-01-05  6:09             ` KAMEZAWA Hiroyuki
2010-01-05  6:24             ` Minchan Kim
2010-01-05  6:24               ` Minchan Kim
2010-01-05  8:35           ` Peter Zijlstra
2010-01-05  8:35             ` Peter Zijlstra
2010-01-05 13:45   ` Arjan van de Ven
2010-01-05 13:45     ` Arjan van de Ven
2010-01-05 14:15     ` Andi Kleen [this message]
2010-01-05 14:15       ` Andi Kleen
2010-01-05 15:17     ` Christoph Lameter
2010-01-05 15:17       ` Christoph Lameter
2010-01-06  3:22       ` Arjan van de Ven
2010-01-06  3:22         ` Arjan van de Ven
2010-01-07 16:11         ` Christoph Lameter
2010-01-07 16:11           ` Christoph Lameter
2010-01-07 16:19           ` Linus Torvalds
2010-01-07 16:19             ` Linus Torvalds
2010-01-07 16:31             ` Linus Torvalds
2010-01-07 16:31               ` Linus Torvalds
2010-01-07 16:34             ` Paul E. McKenney
2010-01-07 16:34               ` Paul E. McKenney
2010-01-07 16:36             ` Christoph Lameter
2010-01-07 16:36               ` Christoph Lameter
2010-01-08  4:49               ` Arjan van de Ven
2010-01-08  4:49                 ` Arjan van de Ven
2010-01-08  5:00                 ` Linus Torvalds
2010-01-08  5:00                   ` Linus Torvalds
2010-01-08 15:51                 ` Christoph Lameter
2010-01-08 15:51                   ` Christoph Lameter
2010-01-09 15:55                   ` Arjan van de Ven
2010-01-09 15:55                     ` Arjan van de Ven
2010-01-07 17:22             ` Peter Zijlstra
2010-01-07 17:22               ` Peter Zijlstra
2010-01-07 17:36               ` Linus Torvalds
2010-01-07 17:36                 ` Linus Torvalds
2010-01-07 17:49                 ` Linus Torvalds
2010-01-07 17:49                   ` Linus Torvalds
2010-01-07 18:00                   ` Peter Zijlstra
2010-01-07 18:00                     ` Peter Zijlstra
2010-01-07 18:15                     ` Linus Torvalds
2010-01-07 18:15                       ` Linus Torvalds
2010-01-07 21:49                       ` Peter Zijlstra
2010-01-07 21:49                         ` Peter Zijlstra
2010-01-07 18:44                   ` Linus Torvalds
2010-01-07 18:44                     ` Linus Torvalds
2010-01-07 19:20                     ` Paul E. McKenney
2010-01-07 19:20                       ` Paul E. McKenney
2010-01-07 20:06                       ` Linus Torvalds
2010-01-07 20:06                         ` Linus Torvalds
2010-01-07 20:25                         ` Paul E. McKenney
2010-01-07 20:25                           ` Paul E. McKenney
2010-01-07 19:24                     ` Christoph Lameter
2010-01-07 19:24                       ` Christoph Lameter
2010-01-07 20:08                       ` Linus Torvalds
2010-01-07 20:08                         ` Linus Torvalds
2010-01-07 20:13                         ` Linus Torvalds
2010-01-07 20:13                           ` Linus Torvalds
2010-01-07 21:44                     ` Peter Zijlstra
2010-01-07 21:44                       ` Peter Zijlstra
2010-01-07 22:33                       ` Linus Torvalds
2010-01-07 22:33                         ` Linus Torvalds
2010-01-08  0:23                         ` KAMEZAWA Hiroyuki
2010-01-08  0:23                           ` KAMEZAWA Hiroyuki
2010-01-08  0:25                           ` KAMEZAWA Hiroyuki
2010-01-08  0:25                             ` KAMEZAWA Hiroyuki
2010-01-08  0:39                           ` Linus Torvalds
2010-01-08  0:39                             ` Linus Torvalds
2010-01-08  0:41                             ` Linus Torvalds
2010-01-08  0:41                               ` Linus Torvalds
2010-01-07 23:51                 ` Rik van Riel
2010-01-07 23:51                   ` Rik van Riel
2010-01-04 18:24 ` [RFC][PATCH 7/8] mm,x86: speculative pagefault support Peter Zijlstra
2010-01-04 18:24   ` Peter Zijlstra
2010-01-04 18:24 ` [RFC][PATCH 8/8] mm: Optimize pte_map_lock() Peter Zijlstra
2010-01-04 18:24   ` Peter Zijlstra
2010-01-04 21:41 ` [RFC][PATCH 0/8] Speculative pagefault -v3 Rik van Riel
2010-01-04 21:41   ` Rik van Riel
2010-01-04 21:46   ` Peter Zijlstra
2010-01-04 21:46     ` Peter Zijlstra
2010-01-04 23:20     ` Rik van Riel
2010-01-04 23:20       ` Rik van Riel
2010-01-04 21:59   ` Christoph Lameter
2010-01-04 21:59     ` Christoph Lameter
2010-01-05  0:28     ` KAMEZAWA Hiroyuki
2010-01-05  0:28       ` KAMEZAWA Hiroyuki
2010-01-05  2:26 ` Minchan Kim
2010-01-05  2:26   ` Minchan Kim

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87637gd4ek.fsf@basil.nowhere.org \
    --to=andi@firstfloor.org \
    --cc=a.p.zijlstra@chello.nl \
    --cc=arjan@infradead.org \
    --cc=cl@linux-foundation.org \
    --cc=hugh.dickins@tiscali.co.uk \
    --cc=kamezawa.hiroyu@jp.fujitsu.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=minchan.kim@gmail.com \
    --cc=mingo@elte.hu \
    --cc=nickpiggin@yahoo.com.au \
    --cc=paulmck@linux.vnet.ibm.com \
    --cc=peterz@infradead.org \
    --cc=torvalds@linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.