From: tytso@mit.edu
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Kyle McMartin <kyle@mcmartin.ca>,
linux-parisc@vger.kernel.org,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
James.Bottomley@suse.de, hch@infradead.org,
linux-arch@vger.kernel.org, Jens Axboe <jens.axboe@oracle.com>
Subject: Re: [git patches] xfs and block fixes for virtually indexed arches
Date: Thu, 17 Dec 2009 11:30:36 -0500 [thread overview]
Message-ID: <20091217163036.GE2123@thunk.org> (raw)
In-Reply-To: <alpine.LFD.2.00.0912170811130.15740@localhost.localdomain>
On Thu, Dec 17, 2009 at 08:16:12AM -0800, Linus Torvalds wrote:
>
> I hate them.
>
> I don't see what the point of allowing kernel virtual addresses in bio's
> is. It's wrong. The fact that XFS does that sh*t is an XFS issue. Handle
> it there.
>
> Fix XFS. Or convince me with some really good arguments, and make sure
> that Jens signs off on the cr*p too.
I have a somewhat similar issue that comes up for ext4; at the moment
occasionaly we need to clone a buffer head buffer; either because the
first four bytes match the magic JBD "escape sequence", and we need to
modify the block and escape it before writing it to the journal, or
because we need to make a copy of a allocation bitmap block so we can
write a fixed copy to disk while we modify the "real" block during a
commit. At the moment we allocate a full page, even if that means
allocating a 16k PPC page when the file system block size is 4k, or
allocating a 4k x86 page when the file system block size is 1k.
That's because apparently the iSCSI and DMA blocks assume that they
have Real Pages (tm) passed to block I/O requests, and apparently XFS
ran into problems when sending vmalloc'ed pages. I don't know if this
is a problem if we pass the bio layer addresses coming from the SLAB
allocator, but oral tradition seems to indicate this is problematic,
although no one has given me the full chapter and verse explanation
about why this is so.
Now that I see Linus's complaint, I'm wondering if the issue is really
about kernel virtual addresses (i.e., coming from vmalloc), and not a
requirement for Real Pages (i.e., coming from the SLAB allocator as
opposed to get_free_page). And can this be documented someplace? I
tried looking at the bio documentation, and couldn't find anything
definitive on the subject.
Thanks,
- Ted
next prev parent reply other threads:[~2009-12-17 16:30 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20091216043618.GB9104@hera.kernel.org>
2009-12-17 13:22 ` [git patches] xfs and block fixes for virtually indexed arches Kyle McMartin
2009-12-17 13:22 ` Kyle McMartin
2009-12-17 13:25 ` Christoph Hellwig
2009-12-17 16:16 ` Linus Torvalds
2009-12-17 16:30 ` tytso [this message]
2009-12-17 16:46 ` Linus Torvalds
2009-12-17 16:46 ` Linus Torvalds
2009-12-17 17:07 ` Christoph Hellwig
2009-12-17 17:07 ` Christoph Hellwig
2009-12-17 17:42 ` Linus Torvalds
2009-12-17 17:51 ` Christoph Hellwig
2009-12-17 17:51 ` Christoph Hellwig
2009-12-17 18:08 ` Russell King
2009-12-17 18:08 ` Russell King
2009-12-17 18:17 ` Linus Torvalds
2009-12-17 18:17 ` Linus Torvalds
2009-12-19 18:33 ` Ralf Baechle
2009-12-19 18:33 ` Ralf Baechle
2009-12-21 17:14 ` James Bottomley
2009-12-17 17:39 ` tytso
2009-12-17 17:39 ` tytso
2009-12-17 17:51 ` Linus Torvalds
2009-12-17 19:36 ` Jens Axboe
2009-12-17 19:36 ` Jens Axboe
2009-12-17 23:57 ` James Bottomley
2009-12-17 23:57 ` James Bottomley
2009-12-18 1:00 ` FUJITA Tomonori
2009-12-18 2:44 ` Dave Chinner
2009-12-18 2:44 ` Dave Chinner
2009-12-18 3:51 ` FUJITA Tomonori
2009-12-18 3:51 ` FUJITA Tomonori
2009-12-18 7:10 ` James Bottomley
2009-12-18 7:08 ` James Bottomley
2009-12-18 9:34 ` FUJITA Tomonori
2009-12-18 10:01 ` James Bottomley
2009-12-18 10:01 ` James Bottomley
2009-12-18 10:24 ` FUJITA Tomonori
2009-12-18 10:30 ` James Bottomley
2009-12-18 12:00 ` Dave Chinner
2009-12-18 12:00 ` Dave Chinner
2009-12-18 0:21 ` FUJITA Tomonori
2009-12-18 14:17 ` tytso
2009-12-18 14:17 ` tytso
2009-12-21 8:53 ` FUJITA Tomonori
2009-12-17 17:10 ` Christoph Hellwig
2009-12-17 17:10 ` Christoph Hellwig
2009-12-17 17:33 ` tytso
2009-12-17 17:33 ` tytso
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=20091217163036.GE2123@thunk.org \
--to=tytso@mit.edu \
--cc=James.Bottomley@suse.de \
--cc=hch@infradead.org \
--cc=jens.axboe@oracle.com \
--cc=kyle@mcmartin.ca \
--cc=linux-arch@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-parisc@vger.kernel.org \
--cc=torvalds@linux-foundation.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;
as well as URLs for NNTP newsgroup(s).