From: Daniel Phillips <phillips@arcor.de>
To: Andrew Morton <akpm@zip.com.au>, Linus Torvalds <torvalds@transmeta.com>
Cc: lkml <linux-kernel@vger.kernel.org>
Subject: Re: [patch 21/21] writeback correctness and peformance fixes
Date: Sun, 11 Aug 2002 11:26:08 +0200 [thread overview]
Message-ID: <E17dozA-0001fA-00@starship> (raw)
In-Reply-To: <3D5614E6.460814A5@zip.com.au>
On Sunday 11 August 2002 09:40, Andrew Morton wrote:
> Incidentally, the occurrence of a locked-and-dirty buffer in
> block_write_full_page() is fairly rare: normally the collision avoidance
> happens at the address_space level, via PageWriteback. But some
> mappings (blockdevs, ext3 files, etc) have their dirty buffers written
> out via submit_bh(). It is these buffers which can stall
> block_write_full_page().
>
> This wart will be pretty intrusive to fix. ext3 needs to become fully
> page-based (ugh. It's a block-based journalling filesystem, and pages
> are unnatural).
Ah, so you have finally seen the light. This is the answer to the question:
"why do we need soft page size, with subpages?" At least it's one of the
answers, other answers include: "finally getting rid of buffers", "cleaning
up the page+buffer state mess" and "eliminating the locking madness when
blocks are smaller than pages".
> blockdev mappings are still written out by buffers
> because that's how filesystems use them. Putting _all_ metadata
> (indirects, inodes, superblocks, etc) into standalone address_spaces
> would fix that up.
You'll like that idea until you try it. Think about what happens when you
need to lock more than one subpage block at the same time, with page locks.
At the rate things are going I can see actually doing the subpage thing in
2.7, and yes, you're right to be skeptical until you see working code.
--
Daniel
prev parent reply other threads:[~2002-08-11 9:21 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-08-11 7:40 Andrew Morton
2002-08-11 9:26 ` Daniel Phillips [this message]
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=E17dozA-0001fA-00@starship \
--to=phillips@arcor.de \
--cc=akpm@zip.com.au \
--cc=linux-kernel@vger.kernel.org \
--cc=torvalds@transmeta.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®