From: "Kirill A. Shutemov" <kirill@shutemov.name>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>,
Andrew Morton <akpm@linux-foundation.org>,
Mel Gorman <mgorman@suse.de>, Rik van Riel <riel@redhat.com>,
Andi Kleen <ak@linux.intel.com>,
Matthew Wilcox <matthew.r.wilcox@intel.com>,
Dave Hansen <dave.hansen@linux.intel.com>,
Alexander Viro <viro@zeniv.linux.org.uk>,
Dave Chinner <david@fromorbit.com>, Ning Qu <quning@gmail.com>,
linux-mm <linux-mm@kvack.org>,
linux-fsdevel <linux-fsdevel@vger.kernel.org>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: [PATCHv3 0/2] mm: map few pages around fault address if they are in page cache
Date: Fri, 28 Feb 2014 02:10:39 +0200 [thread overview]
Message-ID: <20140228001039.GB8034@node.dhcp.inet.fi> (raw)
In-Reply-To: <CA+55aFwOe_m3cfQDGxmcBavhyQTqQQNGvACR4YPLaazM_0oyUw@mail.gmail.com>
On Thu, Feb 27, 2014 at 01:28:22PM -0800, Linus Torvalds wrote:
> On Thu, Feb 27, 2014 at 11:53 AM, Kirill A. Shutemov
> <kirill.shutemov@linux.intel.com> wrote:
> > Here's new version of faultaround patchset. It took a while to tune it and
> > collect performance data.
>
> Andrew, mind taking this into -mm with my acks? It's based on top of
> Kirill's cleanup patches that I think are also in your tree.
>
> Kirill - no complaints from me. I do have two minor issues that you
> might satisfy, but I think the patch is fine as-is.
>
> The issues/questions are:
>
> (a) could you test this on a couple of different architectures? Even
> if you just have access to intel machines, testing it across a couple
> of generations of microarchitectures would be good. The reason I say
> that is that from my profiles, it *looks* like the page fault costs
> are relatively higher on Ivybridge/Haswell than on some earlier
> uarchs.
These numbers were from Ivy Bridge.
I'll bring some numbers for Westmere and Haswell.
> (b) I suspect we should try to strongly discourage filesystems from
> actually using map_pages unless they use the standard
> filemap_map_pages function as-is. Even with the fairly clean
> interface, and forcing people to use "do_set_pte()", I think the docs
> might want to try to more explicitly discourage people from using this
> to do their own hacks..
We would need ->map_pages() at least for shmem/tmpfs. It should be
benefitial there.
Also Matthew noticed that some drivers do ugly hacks like fault in whole
VMA on first page fault. IIUC, it's for performance reasons. See
psbfb_vm_fault() or ttm_bo_vm_fault().
I thought it could be reasonable to have ->map_pages() there and do VMA
population get_user_pages() on mmap() instead.
What do you think?
--
Kirill A. Shutemov
--
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>
WARNING: multiple messages have this Message-ID (diff)
From: "Kirill A. Shutemov" <kirill@shutemov.name>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>,
Andrew Morton <akpm@linux-foundation.org>,
Mel Gorman <mgorman@suse.de>, Rik van Riel <riel@redhat.com>,
Andi Kleen <ak@linux.intel.com>,
Matthew Wilcox <matthew.r.wilcox@intel.com>,
Dave Hansen <dave.hansen@linux.intel.com>,
Alexander Viro <viro@zeniv.linux.org.uk>,
Dave Chinner <david@fromorbit.com>, Ning Qu <quning@gmail.com>,
linux-mm <linux-mm@kvack.org>,
linux-fsdevel <linux-fsdevel@vger.kernel.org>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: [PATCHv3 0/2] mm: map few pages around fault address if they are in page cache
Date: Fri, 28 Feb 2014 02:10:39 +0200 [thread overview]
Message-ID: <20140228001039.GB8034@node.dhcp.inet.fi> (raw)
In-Reply-To: <CA+55aFwOe_m3cfQDGxmcBavhyQTqQQNGvACR4YPLaazM_0oyUw@mail.gmail.com>
On Thu, Feb 27, 2014 at 01:28:22PM -0800, Linus Torvalds wrote:
> On Thu, Feb 27, 2014 at 11:53 AM, Kirill A. Shutemov
> <kirill.shutemov@linux.intel.com> wrote:
> > Here's new version of faultaround patchset. It took a while to tune it and
> > collect performance data.
>
> Andrew, mind taking this into -mm with my acks? It's based on top of
> Kirill's cleanup patches that I think are also in your tree.
>
> Kirill - no complaints from me. I do have two minor issues that you
> might satisfy, but I think the patch is fine as-is.
>
> The issues/questions are:
>
> (a) could you test this on a couple of different architectures? Even
> if you just have access to intel machines, testing it across a couple
> of generations of microarchitectures would be good. The reason I say
> that is that from my profiles, it *looks* like the page fault costs
> are relatively higher on Ivybridge/Haswell than on some earlier
> uarchs.
These numbers were from Ivy Bridge.
I'll bring some numbers for Westmere and Haswell.
> (b) I suspect we should try to strongly discourage filesystems from
> actually using map_pages unless they use the standard
> filemap_map_pages function as-is. Even with the fairly clean
> interface, and forcing people to use "do_set_pte()", I think the docs
> might want to try to more explicitly discourage people from using this
> to do their own hacks..
We would need ->map_pages() at least for shmem/tmpfs. It should be
benefitial there.
Also Matthew noticed that some drivers do ugly hacks like fault in whole
VMA on first page fault. IIUC, it's for performance reasons. See
psbfb_vm_fault() or ttm_bo_vm_fault().
I thought it could be reasonable to have ->map_pages() there and do VMA
population get_user_pages() on mmap() instead.
What do you think?
--
Kirill A. Shutemov
next prev parent reply other threads:[~2014-02-28 0:10 UTC|newest]
Thread overview: 73+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-02-27 19:53 [PATCHv3 0/2] mm: map few pages around fault address if they are in page cache Kirill A. Shutemov
2014-02-27 19:53 ` Kirill A. Shutemov
2014-02-27 19:53 ` [PATCHv3 1/2] mm: introduce vm_ops->map_pages() Kirill A. Shutemov
2014-02-27 19:53 ` Kirill A. Shutemov
2014-02-27 21:59 ` Dave Hansen
2014-02-27 21:59 ` Dave Hansen
2014-02-27 22:06 ` Linus Torvalds
2014-02-27 22:06 ` Linus Torvalds
2014-02-27 22:34 ` Dave Hansen
2014-02-27 22:34 ` Dave Hansen
2014-02-28 0:18 ` Kirill A. Shutemov
2014-02-28 0:18 ` Kirill A. Shutemov
2014-02-28 11:50 ` Benjamin Herrenschmidt
2014-02-28 11:50 ` Benjamin Herrenschmidt
2014-02-27 22:08 ` Andrew Morton
2014-02-27 22:08 ` Andrew Morton
2014-03-03 23:16 ` Andrew Morton
2014-03-04 1:26 ` Kirill A. Shutemov
2014-03-04 1:26 ` Kirill A. Shutemov
2014-03-04 1:26 ` Kirill A. Shutemov
2014-03-05 0:04 ` Rusty Russell
2014-03-05 0:04 ` Rusty Russell
2014-03-05 20:02 ` Andrew Morton
2014-03-05 20:02 ` Andrew Morton
2014-07-24 3:33 ` Sasha Levin
2014-07-24 3:33 ` Sasha Levin
2014-07-24 6:53 ` Andrey Ryabinin
2014-07-24 6:53 ` Andrey Ryabinin
2014-07-24 12:48 ` Sasha Levin
2014-07-24 12:48 ` Sasha Levin
2014-07-24 13:05 ` Sasha Levin
2014-07-24 13:05 ` Sasha Levin
2014-07-24 13:30 ` Konstantin Khlebnikov
2014-07-24 13:30 ` Konstantin Khlebnikov
2014-07-28 7:43 ` [PATCH] mm: don't allow fault_around_bytes to be 0 Andrey Ryabinin
2014-07-28 7:43 ` Andrey Ryabinin
2014-07-28 7:47 ` Andrey Ryabinin
2014-07-28 7:47 ` Andrey Ryabinin
2014-07-28 9:36 ` Kirill A. Shutemov
2014-07-28 9:36 ` Kirill A. Shutemov
2014-07-28 9:36 ` Kirill A. Shutemov
2014-07-28 10:27 ` Andrey Ryabinin
2014-07-28 10:27 ` Andrey Ryabinin
2014-07-28 10:27 ` Andrey Ryabinin
2014-07-28 10:27 ` Andrey Ryabinin
2014-07-28 10:52 ` Kirill A. Shutemov
2014-07-28 10:52 ` Kirill A. Shutemov
2014-07-28 12:32 ` Sasha Levin
2014-07-28 12:32 ` Sasha Levin
2014-07-28 22:43 ` David Rientjes
2014-07-28 22:43 ` David Rientjes
2014-07-28 15:26 ` Dave Hansen
2014-07-28 15:26 ` Dave Hansen
2014-02-27 19:53 ` [PATCHv3 2/2] mm: implement ->map_pages for page cache Kirill A. Shutemov
2014-02-27 19:53 ` Kirill A. Shutemov
2014-02-27 21:47 ` Andrew Morton
2014-02-27 21:47 ` Andrew Morton
2014-02-28 0:31 ` Kirill A. Shutemov
2014-02-28 0:31 ` Kirill A. Shutemov
2014-04-02 18:03 ` Konstantin Khlebnikov
2014-04-02 18:03 ` Konstantin Khlebnikov
2014-04-02 19:07 ` Kirill A. Shutemov
2014-04-02 19:07 ` Kirill A. Shutemov
2014-02-27 21:28 ` [PATCHv3 0/2] mm: map few pages around fault address if they are in " Linus Torvalds
2014-02-27 21:28 ` Linus Torvalds
2014-02-28 0:10 ` Kirill A. Shutemov [this message]
2014-02-28 0:10 ` Kirill A. Shutemov
2014-02-28 3:52 ` Wilcox, Matthew R
2014-02-28 3:52 ` Wilcox, Matthew R
2014-02-28 23:08 ` Linus Torvalds
2014-02-28 23:08 ` Linus Torvalds
2014-03-12 14:22 ` Kirill A. Shutemov
2014-03-12 14:22 ` Kirill A. Shutemov
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=20140228001039.GB8034@node.dhcp.inet.fi \
--to=kirill@shutemov.name \
--cc=ak@linux.intel.com \
--cc=akpm@linux-foundation.org \
--cc=dave.hansen@linux.intel.com \
--cc=david@fromorbit.com \
--cc=kirill.shutemov@linux.intel.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=matthew.r.wilcox@intel.com \
--cc=mgorman@suse.de \
--cc=quning@gmail.com \
--cc=riel@redhat.com \
--cc=torvalds@linux-foundation.org \
--cc=viro@zeniv.linux.org.uk \
/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.