From: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>
To: Jeff Smith <jsmith.lkml@gmail.com>
Cc: "Kirill A. Shutemov" <kirill.shutemov@linux.intel.com>,
Paolo Bonzini <pbonzini@redhat.com>,
Christoph Hellwig <hch@infradead.org>,
Kenny Simpson <theonetruekenny@gmail.com>,
Michal Hocko <mhocko@suse.cz>,
linux-kernel@vger.kernel.org,
Andrew Morton <akpm@linux-foundation.org>,
Peter Zijlstra <peterz@infradead.org>,
Dave Jones <davej@redhat.com>,
Linus Torvalds <torvalds@linux-foundation.org>
Subject: Re: remap_file_pages() use
Date: Mon, 26 May 2014 17:16:55 +0300 (EEST) [thread overview]
Message-ID: <20140526141655.295DDE009B@blue.fi.intel.com> (raw)
In-Reply-To: <CAAih0Nige+Cjoh6c=718P2R4BV5=RczuGh17voVgZEc_hyz16Q@mail.gmail.com>
Jeff Smith wrote:
> I've got no real issues at this point, but could you perhaps elaborate
> a bit on the rough order of magnitude of "long" time
We have never-break-ABI policy in kernel. In practice it means we don't
remove an interface if somebody could notice that it disappears.
Most likely it will go though intermediate step with separate kernel
config option, like uselib(2) recently.
Don't worry. Just convert your code to avoid remap_file_pages() where it's
possible.
> and what cases would be slower?
With emulation each remap_file_pages() will usually create one or two
additional kernel structure which represents part of virtual address space
of the process. Kernel often needs to lookup that structure by virtual
address and this operation can be slower with high number of structures.
I've tried to test how bad it would be in near-worst case: 4G mapped in
reverse page order. It creates 1 million structures. On my machine, fault
in of all this memory is ~1.9 times slower with emulation comparing to
original remap_file_pages(2). In practice, nobody will notice, I believe.
--
Kirill A. Shutemov
next prev parent reply other threads:[~2014-05-26 14:17 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-18 4:03 Kenny Simpson
2014-05-19 13:01 ` Michal Hocko
2014-05-19 14:35 ` Kirill A. Shutemov
2014-05-19 14:38 ` Christoph Hellwig
2014-05-19 15:02 ` Kirill A. Shutemov
2014-05-19 15:11 ` Christoph Hellwig
2014-05-19 15:17 ` Kirill A. Shutemov
2014-05-19 15:42 ` Armin Rigo
2014-05-19 15:53 ` Kirill A. Shutemov
2014-05-19 16:42 ` Armin Rigo
2014-05-19 17:50 ` Dave Hansen
2014-05-19 22:05 ` Armin Rigo
2014-05-19 16:56 ` Christoph Hellwig
2014-05-19 19:14 ` Richard Weinberger
2014-05-26 0:19 ` Jeff Smith
2014-05-26 9:42 ` Kirill A. Shutemov
2014-05-26 13:24 ` Jeff Smith
2014-05-26 13:35 ` Paolo Bonzini
2014-05-26 13:38 ` Jeff Smith
2014-05-26 13:47 ` Kirill A. Shutemov
2014-05-26 13:52 ` Jeff Smith
2014-05-26 14:16 ` Kirill A. Shutemov [this message]
2014-05-26 13:37 ` Kirill A. Shutemov
2014-05-19 17:34 ` Kenny Simpson
2014-05-19 21:24 ` Kirill A. Shutemov
2014-05-21 1:53 ` Kenny Simpson
2014-05-21 3:56 ` Kenny Simpson
2014-05-21 4:32 ` Hugh Dickins
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=20140526141655.295DDE009B@blue.fi.intel.com \
--to=kirill.shutemov@linux.intel.com \
--cc=akpm@linux-foundation.org \
--cc=davej@redhat.com \
--cc=hch@infradead.org \
--cc=jsmith.lkml@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mhocko@suse.cz \
--cc=pbonzini@redhat.com \
--cc=peterz@infradead.org \
--cc=theonetruekenny@gmail.com \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome