public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Andrea Arcangeli <andrea@suse.de>
To: David Chinner <dgc@sgi.com>
Cc: linux-kernel@vger.kernel.org
Subject: Re: RFC: CONFIG_PAGE_SHIFT (aka software PAGE_SIZE)
Date: Thu, 12 Jul 2007 13:14:36 +0200	[thread overview]
Message-ID: <20070712111436.GG28613@v2.random> (raw)
In-Reply-To: <20070712001256.GI31489@sgi.com>

On Thu, Jul 12, 2007 at 10:12:56AM +1000, David Chinner wrote:
> I need really large filesystems that contain both small and large files to
> work more efficiently on small boxes where we can't throw endless amounts of
> RAM and CPUs at the problem.  Hence things like 64k page size are just not an
> option because of the wastage that it entails.

I didn't know you were allocating 4k pages for the small files and 64k
for the large ones in the same fs. That sounds quite a bit
overkill. So it seems all you really need is to reduce the length of
the sg list?  Otherwise you could do the above fine without order > 0
+ pte changes and memcpy in the defrag code. Given the amount of cpu
you throw at the problem of deciding 4k or 64k pages and the defrag,
and all complexity involved to handle mixed page-cache-sized per
inode, I doubt the cpu saving of the order page size matters much to
you. Probably the main thing you can measure is your storage subsystem
being too slow if the DMA isn't physically contiguous, hence the need
for those larger pages when you do I/O on the big files.

I still think you should run those systems with PAGE_SIZE 64k even if
it'll waste you more memory on the small files.

  reply	other threads:[~2007-07-12 11:14 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
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 [this message]
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=20070712111436.GG28613@v2.random \
    --to=andrea@suse.de \
    --cc=dgc@sgi.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