linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Christoph Hellwig <hch@infradead.org>
To: Andrea Arcangeli <aarcange@redhat.com>
Cc: Shane Shrybman <shrybman@teksavvy.com>,
	linux-btrfs <linux-btrfs@vger.kernel.org>,
	Chris Mason <chris.mason@oracle.com>,
	linux-mm@kvack.org, linux-fsdevel@vger.kernel.org
Subject: Re: Oops while rebalancing, now unmountable.
Date: Sun, 14 Nov 2010 17:00:18 -0500	[thread overview]
Message-ID: <20101114220018.GA4512@infradead.org> (raw)
In-Reply-To: <20101114204206.GV6809@random.random>

On Sun, Nov 14, 2010 at 09:42:06PM +0100, Andrea Arcangeli wrote:
> btrfs misses this:
> 
> +       .migratepage    = btree_migratepage,
> 
> It's a bug that can trigger upstream too (not only with THP) if there
> are hugepage allocations (like while incrasing nr_hugepages). Chris
> already fixed it with an experimental patch.

If the lack of an obscure method causes data corruption something
is seriously wrong with THP.  At least from the 10.000 foot view
I can't quite figure what the exact issue is, though.
fallback_migrate_page seems to do the right thing to me for that
case.

Btw, there's also another issue with the page migration code when used
for filesystem pages.  If directly calls into ->writepage instead
of using the flusher threads.  On most filesystems this will
"only" cause nasty I/O patterns, but on ext4 for example it will
be more nasty as ext3 doesn't do conversions from delayed allocations to
real ones.  So unless you're doing a lot of overwrites it will be
hard to make any progress in writeout().

Btw, what codepath does THP call migrate_pages from?  If you don't
use an explicit thread writeout will be a no-op on btrfs and XFS, too.

--
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/ .
Fight unfair telecom policy in Canada: sign http://dissolvethecrtc.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>

       reply	other threads:[~2010-11-14 22:00 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1289236257.3611.3.camel@mars>
     [not found] ` <1289310046-sup-839@think>
     [not found]   ` <1289326892.4231.2.camel@mars>
     [not found]     ` <1289764507.4303.9.camel@mars>
     [not found]       ` <20101114204206.GV6809@random.random>
2010-11-14 22:00         ` Christoph Hellwig [this message]
2010-11-14 22:12           ` Oops while rebalancing, now unmountable Andrea Arcangeli
2010-11-15 18:23             ` Christoph Hellwig
2010-11-15 18:46               ` Chris Mason
2010-11-15 19:03                 ` Christoph Hellwig
2010-11-16 21:48                 ` Shane Shrybman
2010-11-15 18:46               ` Andrea Arcangeli
2010-11-15 19:03                 ` Chris Mason
2010-11-15 19:16                   ` Andrea Arcangeli
2010-11-15 19:12                 ` Christoph Hellwig
2010-11-15 19:18                   ` Chris Mason
2010-11-15 19:29                   ` Andrea Arcangeli
2010-11-15 20:54                     ` Christoph Hellwig

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=20101114220018.GA4512@infradead.org \
    --to=hch@infradead.org \
    --cc=aarcange@redhat.com \
    --cc=chris.mason@oracle.com \
    --cc=linux-btrfs@vger.kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=shrybman@teksavvy.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;
as well as URLs for NNTP newsgroup(s).