All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nick Piggin <nickpiggin@yahoo.com.au>
To: Daniel Phillips <phillips@phunq.net>
Cc: Matthew Wilcox <matthew@wil.cx>,
	linux-fsdevel@vger.kernel.org, tux3@tux3.org,
	Andrew Morton <akpm@linux-foundation.org>,
	linux-kernel@vger.kernel.org
Subject: Re: [Tux3] Tux3 report: Tux3 Git tree available
Date: Sun, 15 Mar 2009 14:50:51 +1100	[thread overview]
Message-ID: <200903151450.51726.nickpiggin@yahoo.com.au> (raw)
In-Reply-To: <200903142024.30142.phillips@phunq.net>

On Sunday 15 March 2009 14:24:29 Daniel Phillips wrote:
> On Thursday 12 March 2009, Matthew Wilcox wrote:
> > On Fri, Mar 13, 2009 at 12:04:40AM +1100, Nick Piggin wrote:
> > > As far as the per-block pagecache state (as opposed to the per-block fs
> > > state), I don't see any reason it is a problem for efficiency. We have
> > > to do per-page operations anyway.
> >
> > Why?  Wouldn't it be nice if we could do arbitrary extents?  I suppose
> > superpages or soft page sizes get us most of the way there, but the
> > rounding or pieces at the end are a bit of a pain.  Sure, it'll be a
> > huge upheaval for the VM, but we're good at huge upheavals ;-)
>
> Actually, filesystem extents tend to erode the argument for superpages.
> There are three reasons we have seen for wanting big pages: 1) support
> larger block buffers without adding messy changes to buffer.c; 2) TLB
> efficiency; 3) less per-page state in kernel memory.  TLB efficiency is
> only there if the hardware supports it, which X86 arguably doesn't.
> The main argument for larger block buffers is less per-block transfer
> setup overhead, but the BIO model combined with filesystem extents
> does that job better, or at least it will when filesystems learn to
> take better advantage of this.
>
> VM extents on the other hand could possibly do a really good job of
> reducing per-page VM overhead, if anybody still cares about that now
> that 64 bit machines rule the big iron world.
>
> I expect implementing VM extents to be a brutally complex project, as
> filesystem extents always turn out to be, even though one tends to
> enter such projects thinking, how hard could this be?  Answer: harder
> than you think.  But VM extents would be good for a modest speedup, so
> somebody is sure to get brave enough to try it sometime.

I don't think there is enough evidence to be able to make such an
assertion.

When you actually implement extent splitting and merging in a deadlock
free manner and synchronize everything properly I wouldn't be surprised
if it is slower most of the time. If it was significantly faster, then
memory fragmentation means that it is going to get significantly slower
over the uptime of the kernel, so you would have to virtually map the
kernel and implement memory defragmentation, at which point you get even
slower and more complex.


  reply	other threads:[~2009-03-15  3:51 UTC|newest]

Thread overview: 57+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-03-11 16:25 Tux3 report: Tux3 Git tree available Daniel Phillips
2009-03-11 18:42 ` Andrew Morton
2009-03-12  5:38   ` [Tux3] " Daniel Phillips
2009-03-12  6:07     ` Andrew Morton
2009-03-12  8:33       ` Daniel Phillips
2009-03-12  8:47         ` Nick Piggin
2009-03-12  9:00           ` Daniel Phillips
2009-03-12  9:10             ` Nick Piggin
2009-03-12 10:15               ` Daniel Phillips
2009-03-12 11:03                 ` Nick Piggin
2009-03-12 12:24                   ` Daniel Phillips
2009-03-12 12:32                     ` Matthew Wilcox
2009-03-12 12:45                       ` Nick Piggin
2009-03-12 12:45                         ` Nick Piggin
2009-03-12 13:12                         ` [Tux3] " Daniel Phillips
2009-03-12 13:06                       ` Daniel Phillips
2009-03-12 13:04                     ` Nick Piggin
2009-03-12 13:04                       ` Nick Piggin
2009-03-12 13:59                       ` [Tux3] " Matthew Wilcox
2009-03-12 14:19                         ` Nick Piggin
2009-03-15  3:24                         ` Daniel Phillips
2009-03-15  3:24                           ` Daniel Phillips
2009-03-15  3:50                           ` Nick Piggin [this message]
2009-03-15  4:08                             ` [Tux3] " Daniel Phillips
2009-03-15  4:08                               ` Daniel Phillips
2009-03-15  4:14                               ` [Tux3] " Nick Piggin
2009-03-15  2:41                       ` Daniel Phillips
2009-03-15  3:45                         ` Nick Piggin
2009-03-15 21:44                           ` Theodore Tso
2009-03-15 22:41                             ` Daniel Phillips
2009-03-16 10:32                               ` Nick Piggin
2009-03-16  5:12                             ` Dave Chinner
2009-03-16  5:12                               ` Dave Chinner
2009-03-16  6:38                               ` Theodore Tso
2009-03-16  6:38                                 ` Theodore Tso
2009-03-16 10:14                                 ` Nick Piggin
2009-03-16 10:14                                   ` Nick Piggin
2009-03-12 17:06                   ` [Tux3] " Theodore Tso
2009-03-13  9:32                     ` Nick Piggin
2009-03-12 17:00           ` OGAWA Hirofumi
2009-03-15  3:54             ` Daniel Phillips
2009-03-12  9:47         ` Sam Ravnborg
2009-03-12 10:25           ` Daniel Phillips
2009-03-12 15:30         ` Diego Calleja
2009-03-12 16:54         ` OGAWA Hirofumi
2009-03-15  3:36           ` Daniel Phillips
2009-03-15  4:26             ` OGAWA Hirofumi
2009-03-12 13:24       ` Andi Kleen
2009-03-12 21:24         ` [Tux3] " Daniel Phillips
2009-03-12 23:38           ` Andi Kleen
2009-03-15  3:03             ` Daniel Phillips
2009-03-12 21:02     ` Roland Dreier
2009-03-15  4:02       ` Daniel Phillips
2009-03-12 16:18   ` OGAWA Hirofumi
2009-03-12 20:02     ` Andrew Morton
2009-03-12 20:46       ` OGAWA Hirofumi
2009-03-15  3:58         ` Daniel Phillips

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=200903151450.51726.nickpiggin@yahoo.com.au \
    --to=nickpiggin@yahoo.com.au \
    --cc=akpm@linux-foundation.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=matthew@wil.cx \
    --cc=phillips@phunq.net \
    --cc=tux3@tux3.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 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.