From: Andrea Arcangeli <andrea@qumranet.com>
To: Jack Steiner <steiner@sgi.com>
Cc: Christoph Hellwig <hch@infradead.org>,
cl@linux-foundation.org, hugh@veritas.com, akpm@osdl.org,
linux-kernel@vger.kernel.org, mingo@elte.hu, tglx@linutronix.de,
holt@sgi.com, linux-mm@kvack.org
Subject: Re: [patch 12/13] GRU Driver V3 - export is_uv_system(), zap_page_range() & follow_page()
Date: Mon, 7 Jul 2008 16:54:09 +0200 [thread overview]
Message-ID: <20080707145408.GE7834@duo.random> (raw)
In-Reply-To: <20080707143916.GA5209@sgi.com>
On Mon, Jul 07, 2008 at 09:39:16AM -0500, Jack Steiner wrote:
> Can you provide some additional details on the type of kernel API
> that could be exported to provide a pte lookup in atomic context?
mmu notifiers makes page pinning an obsolete thing so we want to get
rid of get_user_pages in KVM page fault fast path too (we want to keep
it in the slow path the same way as GRU does).
I tried to profile it and time spent in get_user_pages is quite
smaller than the time spent on follow_page. So I estimated we'll be
very lucky if getting rid of get_user_pages will even mark a 1%
speedup in real life benchmark, but still we want to optimize things
given this is so easy.
If calling follow_page directly is the right thing I don't know. Let's
say I'll postpone any minor-optimization work in this area to the time
mmu notifiers are merged in .27 as scheduled.
If the export of follow_page was going in before a more accurate
thought on what else we could do, I wouldn't be opposed because
eventually we'll have to export a new function anyway and this is a
one liner change, so it couldn't make life harder later if it goes in.
> I'll gladly make whatever changes are needed but need some pointers on
> the direction I should take....
Same here, and I'll join this more actively to help out as soon as we
can move to the next step (i.e. once mmu notifiers are in mainline).
Thanks everyone!!
--
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>
next prev parent reply other threads:[~2008-07-07 14:54 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20080703213348.489120321@attica.americas.sgi.com>
[not found] ` <20080703213633.890647632@attica.americas.sgi.com>
[not found] ` <20080704073926.GA1449@infradead.org>
2008-07-07 14:39 ` Jack Steiner
2008-07-07 14:54 ` Andrea Arcangeli [this message]
2008-07-07 16:29 ` Hugh Dickins
2008-07-07 16:53 ` Jack Steiner
2008-07-08 2:16 ` Nick Piggin
2008-07-09 19:11 ` Jack Steiner
2008-07-10 7:31 ` Nick Piggin
2008-07-10 13:29 ` Jack Steiner
2008-07-10 14:21 ` Nick Piggin
2008-07-10 16:33 ` Jack Steiner
2008-07-10 16:52 ` Nick Piggin
2008-07-10 17:20 ` Jack Steiner
2008-07-11 3:30 ` Nick Piggin
2008-07-07 18:58 ` Arjan van de Ven
2008-07-07 19:29 ` Jack Steiner
2008-07-07 21:03 ` Andrea Arcangeli
2008-07-07 17:58 ` Jack Steiner
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=20080707145408.GE7834@duo.random \
--to=andrea@qumranet.com \
--cc=akpm@osdl.org \
--cc=cl@linux-foundation.org \
--cc=hch@infradead.org \
--cc=holt@sgi.com \
--cc=hugh@veritas.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mingo@elte.hu \
--cc=steiner@sgi.com \
--cc=tglx@linutronix.de \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox