From: Davide Libenzi <davidel@xmailserver.org>
To: Andy Isaacson <adi@hexapodia.org>
Cc: Rik van Riel <riel@redhat.com>,
Ulrich Drepper <drepper@gmail.com>,
Kyle Moffett <mrmacman_g4@mac.com>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>
Subject: Re: [patch 0/4] MAP_NOZERO v2 - VM_NOZERO/MAP_NOZERO early summer madness
Date: Wed, 4 Jul 2007 16:42:47 -0700 (PDT) [thread overview]
Message-ID: <Pine.LNX.4.64.0707041630320.9143@alien.or.mcafeemobile.com> (raw)
In-Reply-To: <20070704215353.GW9157@hexapodia.org>
On Wed, 4 Jul 2007, Andy Isaacson wrote:
> On Mon, Jul 02, 2007 at 06:55:40PM -0400, Rik van Riel wrote:
> > You could easily replace the cookie with a pointer to a free
> > page pool.
>
> It just occurred to me that something like this is *required* to get the
> performance benefit from MAP_NOZERO on a busy system. With Davide's
> current proposal, if there are N jobs with different "nozero cookies"
> busy allocating and deallocating pages on a single-NUMA-node system,
> then there's only a 1/N chance that the page returned by __alloc_pages
> will have the correct cookie, so (N-1)/N percent of the time MAP_NOZERO
> will have no positive effect -- 90% of the time for the case of N=10.
That can indeed happen. If you have a system busy with pressure coming
from many different users, the recycle efficency goes down proportionally
with it.
As I said before, I prefer a smaller and less intrusive code that gives
good recycle efficency for the mejority of systems, WRT the idea of
dedicated pools.
But maybe I'm wrong, and Rik or you can show up with a patch implementing
pools that does not hurt code, structure sizes and performances.
> In a mostly unrelated complaint, I note that having a function named
> "alloc_zeroed_page_vma" which returns a potentially nonzero page is, um,
> unintuitive. It needs a name which does not claim it returns zeroed
> pages. I'm no good at names, but perhaps "alloc_available_page_vma"?
Yeah, the name "zeroed" is not perfect, but neither it is "available". The
name should give the idea that the page is either from the same ID/cookie
or it is zeroed. That naming should be applied back to
alloc_zeroed_user_highpage(), __HAVE_ARCH_ALLOC_ZEROED_USER_HIGHPAGE, ...
- Davide
next prev parent reply other threads:[~2007-07-04 23:42 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-06-28 18:49 Davide Libenzi
2007-06-29 2:57 ` Kyle Moffett
2007-06-29 3:04 ` Rik van Riel
2007-06-29 5:09 ` Ulrich Drepper
2007-06-29 5:20 ` Davide Libenzi
2007-06-29 19:39 ` Andy Isaacson
2007-06-29 20:12 ` Davide Libenzi
2007-06-29 23:48 ` Kyle Moffett
2007-06-30 19:03 ` Davide Libenzi
2007-06-30 23:46 ` Kyle Moffett
2007-06-30 23:57 ` Davide Libenzi
2007-07-01 0:21 ` Kyle Moffett
2007-07-01 4:25 ` Davide Libenzi
2007-07-02 19:00 ` Andy Isaacson
2007-07-02 19:03 ` Rik van Riel
2007-07-02 19:06 ` Ulrich Drepper
2007-07-02 22:46 ` Davide Libenzi
2007-07-02 22:55 ` Rik van Riel
2007-07-02 23:46 ` Davide Libenzi
2007-07-04 21:53 ` Andy Isaacson
2007-07-04 23:42 ` Davide Libenzi [this message]
2007-07-02 18:38 ` Andy Isaacson
2007-07-02 22:38 ` Davide Libenzi
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=Pine.LNX.4.64.0707041630320.9143@alien.or.mcafeemobile.com \
--to=davidel@xmailserver.org \
--cc=adi@hexapodia.org \
--cc=drepper@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mrmacman_g4@mac.com \
--cc=riel@redhat.com \
/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
all inboxes | Powered by JetHome®