From: Nick Piggin <npiggin@suse.de>
To: Christoph Lameter <clameter@sgi.com>
Cc: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
Linux Memory Management List <linux-mm@kvack.org>,
linux-fsdevel@vger.kernel.org
Subject: Re: [RFC] fsblock
Date: Tue, 10 Jul 2007 03:07:58 +0200 [thread overview]
Message-ID: <20070710010757.GD8779@wotan.suse.de> (raw)
In-Reply-To: <Pine.LNX.4.64.0707091756020.2348@schroedinger.engr.sgi.com>
On Mon, Jul 09, 2007 at 05:59:47PM -0700, Christoph Lameter wrote:
> On Tue, 10 Jul 2007, Nick Piggin wrote:
>
> > > Hmmm.... I did not notice that yet but then I have not done much work
> > > there.
> >
> > Notice what?
>
> The bad code for the buffer heads.
Oh. Well my first mail in this thrad listed some of the problems
with them.
> > > > - A real "nobh" mode. nobh was created I think mainly to avoid problems
> > > > with buffer_head memory consumption, especially on lowmem machines. It
> > > > is basically a hack (sorry), which requires special code in filesystems,
> > > > and duplication of quite a bit of tricky buffer layer code (and bugs).
> > > > It also doesn't work so well for buffers with non-trivial private data
> > > > (like most journalling ones). fsblock implements this with basically a
> > > > few lines of code, and it shold work in situations like ext3.
> > >
> > > Hmmm.... That means simply page struct are not working...
> >
> > I don't understand you. jbd needs to attach private data to each bh, and
> > that can stay around for longer than the life of the page in the pagecache.
>
> Right. So just using page struct alone wont work for the filesystems.
>
> > There are no changes to the filesystem API for large pages (although I
> > am adding a couple of helpers to do page based bitmap ops). And I don't
> > want to rely on contiguous memory. Why do you think handling of large
> > pages (presumably you mean larger than page sized blocks) is strange?
>
> We already have a way to handle large pages: Compound pages.
Yes but I don't want to use large pages and I am not going to use
them (at least, they won't be mandatory).
> > Conglomerating the constituent pages via the pagecache radix-tree seems
> > logical to me.
>
> Meaning overhead to handle each page still exists? This scheme cannot
> handle large contiguous blocks as a single entity?
Of course some things have to be done per-page if the pages are not
contiguous. I actually haven't seen that to be a problem or have much
reason to think it will suddenly become a problem (although I do like
Andrea's config page sizes approach for really big systems that cannot
change their HW page size).
WARNING: multiple messages have this Message-ID (diff)
From: Nick Piggin <npiggin@suse.de>
To: Christoph Lameter <clameter@sgi.com>
Cc: Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
Linux Memory Management List <linux-mm@kvack.org>,
linux-fsdevel@vger.kernel.org
Subject: Re: [RFC] fsblock
Date: Tue, 10 Jul 2007 03:07:58 +0200 [thread overview]
Message-ID: <20070710010757.GD8779@wotan.suse.de> (raw)
In-Reply-To: <Pine.LNX.4.64.0707091756020.2348@schroedinger.engr.sgi.com>
On Mon, Jul 09, 2007 at 05:59:47PM -0700, Christoph Lameter wrote:
> On Tue, 10 Jul 2007, Nick Piggin wrote:
>
> > > Hmmm.... I did not notice that yet but then I have not done much work
> > > there.
> >
> > Notice what?
>
> The bad code for the buffer heads.
Oh. Well my first mail in this thrad listed some of the problems
with them.
> > > > - A real "nobh" mode. nobh was created I think mainly to avoid problems
> > > > with buffer_head memory consumption, especially on lowmem machines. It
> > > > is basically a hack (sorry), which requires special code in filesystems,
> > > > and duplication of quite a bit of tricky buffer layer code (and bugs).
> > > > It also doesn't work so well for buffers with non-trivial private data
> > > > (like most journalling ones). fsblock implements this with basically a
> > > > few lines of code, and it shold work in situations like ext3.
> > >
> > > Hmmm.... That means simply page struct are not working...
> >
> > I don't understand you. jbd needs to attach private data to each bh, and
> > that can stay around for longer than the life of the page in the pagecache.
>
> Right. So just using page struct alone wont work for the filesystems.
>
> > There are no changes to the filesystem API for large pages (although I
> > am adding a couple of helpers to do page based bitmap ops). And I don't
> > want to rely on contiguous memory. Why do you think handling of large
> > pages (presumably you mean larger than page sized blocks) is strange?
>
> We already have a way to handle large pages: Compound pages.
Yes but I don't want to use large pages and I am not going to use
them (at least, they won't be mandatory).
> > Conglomerating the constituent pages via the pagecache radix-tree seems
> > logical to me.
>
> Meaning overhead to handle each page still exists? This scheme cannot
> handle large contiguous blocks as a single entity?
Of course some things have to be done per-page if the pages are not
contiguous. I actually haven't seen that to be a problem or have much
reason to think it will suddenly become a problem (although I do like
Andrea's config page sizes approach for really big systems that cannot
change their HW page size).
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
next prev parent reply other threads:[~2007-07-10 1:08 UTC|newest]
Thread overview: 106+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-06-24 1:45 [RFC] fsblock Nick Piggin
2007-06-24 1:45 ` Nick Piggin
2007-06-24 1:46 ` [patch 1/3] add the fsblock layer Nick Piggin
2007-06-24 1:46 ` Nick Piggin
2007-06-24 15:28 ` Andi Kleen
2007-06-24 15:28 ` Andi Kleen
2007-06-24 20:18 ` Arjan van de Ven
2007-06-24 20:18 ` Arjan van de Ven
2007-06-25 8:58 ` Andi Kleen
2007-06-25 8:58 ` Andi Kleen
2007-06-25 7:19 ` Nick Piggin
2007-06-25 7:19 ` Nick Piggin
2007-06-24 23:01 ` Neil Brown
2007-06-24 23:01 ` Neil Brown
2007-06-25 7:41 ` Nick Piggin
2007-06-25 7:41 ` Nick Piggin
2007-06-25 12:29 ` Chris Mason
2007-06-25 12:29 ` Chris Mason
2007-06-26 2:34 ` Nick Piggin
2007-06-26 2:34 ` Nick Piggin
2007-06-26 2:48 ` Neil Brown
2007-06-26 2:48 ` Neil Brown
2007-06-26 3:07 ` Nick Piggin
2007-06-26 3:07 ` Nick Piggin
2007-06-26 12:26 ` Chris Mason
2007-06-26 12:26 ` Chris Mason
2007-06-30 10:40 ` Christoph Hellwig
2007-06-30 10:40 ` Christoph Hellwig
2007-06-30 10:40 ` Christoph Hellwig
2007-06-30 10:40 ` Christoph Hellwig
2007-06-25 13:19 ` Chris Mason
2007-06-25 13:19 ` Chris Mason
2007-06-26 2:42 ` Nick Piggin
2007-06-26 2:42 ` Nick Piggin
2007-06-24 1:46 ` [patch 2/3] block_dev: convert to fsblock Nick Piggin
2007-06-24 1:46 ` Nick Piggin
2007-06-24 1:47 ` [patch 3/3] minix: " Nick Piggin
2007-06-24 1:47 ` Nick Piggin
2007-06-24 1:53 ` [RFC] fsblock Nick Piggin
2007-06-24 1:53 ` Nick Piggin
2007-06-24 3:07 ` Jeff Garzik
2007-06-24 3:07 ` Jeff Garzik
2007-06-24 3:47 ` Nick Piggin
2007-06-24 3:47 ` Nick Piggin
2007-06-24 13:51 ` Chris Mason
2007-06-24 13:51 ` Chris Mason
2007-06-25 6:58 ` Nick Piggin
2007-06-25 6:58 ` Nick Piggin
2007-06-25 12:25 ` Chris Mason
2007-06-25 12:25 ` Chris Mason
2007-06-30 10:44 ` Christoph Hellwig
2007-06-30 10:44 ` Christoph Hellwig
2007-06-30 10:42 ` Christoph Hellwig
2007-06-30 10:42 ` Christoph Hellwig
2007-06-30 11:10 ` Jeff Garzik
2007-06-30 11:10 ` Jeff Garzik
2007-06-30 11:13 ` Christoph Hellwig
2007-06-30 11:13 ` Christoph Hellwig
2007-06-24 4:19 ` William Lee Irwin III
2007-06-24 4:19 ` William Lee Irwin III
2007-06-24 14:16 ` Andi Kleen
2007-06-24 14:16 ` Andi Kleen
2007-06-25 7:16 ` Nick Piggin
2007-06-25 7:16 ` Nick Piggin
2007-06-26 3:06 ` David Chinner
2007-06-26 3:06 ` David Chinner
2007-06-26 3:55 ` Nick Piggin
2007-06-26 3:55 ` Nick Piggin
2007-06-26 9:23 ` David Chinner
2007-06-26 9:23 ` David Chinner
2007-06-26 11:14 ` Nick Piggin
2007-06-26 11:14 ` Nick Piggin
2007-06-27 12:39 ` Kyle Moffett
2007-06-27 12:39 ` Kyle Moffett
2007-06-26 12:34 ` Chris Mason
2007-06-26 12:34 ` Chris Mason
2007-06-27 5:32 ` Nick Piggin
2007-06-27 5:32 ` Nick Piggin
2007-06-27 6:05 ` David Chinner
2007-06-27 6:05 ` David Chinner
2007-06-27 11:50 ` Chris Mason
2007-06-27 11:50 ` Chris Mason
2007-06-27 15:18 ` Anton Altaparmakov
2007-06-27 15:18 ` Anton Altaparmakov
2007-06-27 22:35 ` David Chinner
2007-06-27 22:35 ` David Chinner
2007-06-28 2:44 ` Nick Piggin
2007-06-28 2:44 ` Nick Piggin
2007-06-28 12:20 ` Chris Mason
2007-06-28 12:20 ` Chris Mason
2007-06-29 2:08 ` David Chinner
2007-06-29 2:08 ` David Chinner
2007-06-29 2:33 ` Nick Piggin
2007-06-29 2:33 ` Nick Piggin
2007-06-30 11:05 ` Christoph Hellwig
2007-06-30 11:05 ` Christoph Hellwig
2007-07-09 17:14 ` Christoph Lameter
2007-07-09 17:14 ` Christoph Lameter
2007-07-10 0:54 ` Nick Piggin
2007-07-10 0:54 ` Nick Piggin
2007-07-10 0:59 ` Christoph Lameter
2007-07-10 0:59 ` Christoph Lameter
2007-07-10 1:07 ` Nick Piggin [this message]
2007-07-10 1:07 ` Nick Piggin
2007-07-10 1:37 ` Dave McCracken
2007-07-10 1:37 ` Dave McCracken
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=20070710010757.GD8779@wotan.suse.de \
--to=npiggin@suse.de \
--cc=clameter@sgi.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.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.