public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: William Lee Irwin III <wli@holomorphy.com>
To: Andrea Arcangeli <andrea@suse.de>
Cc: Dave Hansen <haveblue@us.ibm.com>, linux-kernel@vger.kernel.org
Subject: Re: RFC: CONFIG_PAGE_SHIFT (aka software PAGE_SIZE)
Date: Wed, 18 Jul 2007 06:32:22 -0700	[thread overview]
Message-ID: <20070718133222.GM11781@holomorphy.com> (raw)
In-Reply-To: <20070717193308.GD25301@v2.random>

On Tue, Jul 17, 2007 at 10:47:37AM -0700, William Lee Irwin III wrote:
>> You may rest assured that it's technically feasible. It's been done.
>> The larger obstacles to all this are nontechnical.

On Tue, Jul 17, 2007 at 09:33:08PM +0200, Andrea Arcangeli wrote:
> Back then there was no variable order page size proposal, no slub,
> generally nothing of that kind.
> I think these days it worth to get it working again and solve the
> technical obstacles once more time. Then we should plug into it a
> pagecache logic to handle small files. That means if the soft page
> size is 64k, we should kmalloc 32k of pagecache if the file is < 64k
> but >= 32k, or kmalloc 16k if the file is < 32k but >= 16k, etc...

Actually I'd worked on what was called MPSS (Multiple Page Size Support)
before I ever started on pgcl. Some large portion of the pgcl proposal
as I presented it internally was to reduce the order of large page
allocations and provide a promotion and demotion mechanism enabling
different processes to have different sized translations for the same
large page, and hence no out-of-context pagetable/TLB updates during
promotion and demotion, essentially by making the TLB translation to
page relation M:N. ISTR describing this in a KS presentation for which
IIRC you were present. But that's neither here nor there.


On Tue, Jul 17, 2007 at 09:33:08PM +0200, Andrea Arcangeli wrote:
> Down to 32bytes if we memcpy the 32bytes away to a 64k page, and we
> disable the logic the moment somebody attempts to mmap the "kmalloced"
> pagecache (which I think it's a lot simpler than trying to mmap a
> kmalloced 4k naturally aligned object into userland). I wouldn't call
> it tail packing, it's more a fine-granular pagecache with the already
> available kmalloc granularities. That will maximize pagecache
> utilization with read syscall for hg/git compared to current 2.6.22
> plus memory will be allocated faster in 64k chunks etc... Ideally it
> should be possible to disable the finer-granular-kmalloc-pagecache on
> the big irons with lots of memory and only working with big files.

In any event, that is a sound strategy for mitigating internal
fragmentation of pagecache, though internal fragmentation of anonymous
memory has more severe consequences and is less easily mitigated.


-- wli

  reply	other threads:[~2007-07-18 13:31 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-07-06 22:26 RFC: CONFIG_PAGE_SHIFT (aka software PAGE_SIZE) Andrea Arcangeli
2007-07-06 23:33 ` Dave Hansen
2007-07-06 23:52   ` Andrea Arcangeli
2007-07-17 17:47     ` William Lee Irwin III
2007-07-17 19:33       ` Andrea Arcangeli
2007-07-18 13:32         ` William Lee Irwin III [this message]
2007-07-18 16:34           ` Rene Herman
2007-07-18 23:50             ` Andrea Arcangeli
2007-07-19  0:53               ` Rene Herman
2007-07-24 19:44           ` Andrea Arcangeli
2007-07-25  3:20             ` William Lee Irwin III
2007-07-25 14:39               ` Andrea Arcangeli
2007-07-25 17:56                 ` William Lee Irwin III
2007-07-07  1:36 ` Badari Pulavarty
2007-07-07  1:47 ` Badari Pulavarty
2007-07-07 10:12   ` Andrea Arcangeli
2007-07-07  7:01 ` Paul Mackerras
2007-07-07 10:25   ` Andrea Arcangeli
2007-07-07 18:53 ` Jan Engelhardt
2007-07-07 20:34   ` Rik van Riel
2007-07-08  9:52   ` Andrea Arcangeli
2007-07-08 23:20 ` David Chinner
2007-07-10 10:11   ` Andrea Arcangeli
2007-07-12  0:12     ` David Chinner
2007-07-12 11:14       ` Andrea Arcangeli
2007-07-12 14:44         ` David Chinner
2007-07-12 16:31           ` Andrea Arcangeli
2007-07-12 16:34             ` Dave Hansen
2007-07-13  7:13               ` David Chinner
2007-07-13 14:08                 ` Dave Kleikamp
2007-07-13 14:31                 ` Andrea Arcangeli
2007-07-16  0:27                   ` David Chinner
2007-07-12 17:53 ` Matt Mackall
2007-07-13  1:06   ` Andrea Arcangeli

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=20070718133222.GM11781@holomorphy.com \
    --to=wli@holomorphy.com \
    --cc=andrea@suse.de \
    --cc=haveblue@us.ibm.com \
    --cc=linux-kernel@vger.kernel.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