linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
From: Andrew Morton <akpm@linux-foundation.org>
To: Ken Chen <kenchen@google.com>
Cc: linux-mm@kvack.org
Subject: Re: [patch] fix periodic superblock dirty inode flushing
Date: Mon, 16 Jul 2007 17:15:37 -0700	[thread overview]
Message-ID: <20070716171537.0a57e6e7.akpm@linux-foundation.org> (raw)
In-Reply-To: <b040c32a0707161701q49ad150di6387b029a39b39c3@mail.gmail.com>

On Mon, 16 Jul 2007 17:01:31 -0700
"Ken Chen" <kenchen@google.com> wrote:

> On 7/13/07, Ken Chen <kenchen@google.com> wrote:
> > On 7/12/07, Andrew Morton <akpm@linux-foundation.org> wrote:
> > > Was this tested in combination with check_dirty_inode_list.patch,
> > > to make sure that the time-orderedness is being retained?
> >
> > I think I tested with the debug patch.  And just to be sure, I ran the
> > test again with the time-order check in place.  It passed the test.
> 
> I ran some more tests over the weekend with the debug turned on. There
> are a few fall out that the order-ness of sb-s_dirty is corrupted.  We
> probably should drop this patch until I figure out a real solution to
> this.

drat.

> One idea is to use rb-tree for sorting and use a in-tree dummy node as
> a tree iterator.  Do you think that will work better?  I will hack on
> that.

Yeah, handling those list_heads is like juggling ten bars of soap.

I've long had vague thoughts that a new data structure is needed to fix all
this up.  But I was thinking radix-tree because radix-trees have the very
important characteristic that you can remember where you were up to when
you drop the lock, so you can trivially restart the search at the correct
place.  Although I never quiet worked out what an appropriate index would
be for that radix-tree.

I suppose we can do the same search-restarting with rb-trees, once we work
out what the index is.

It will all be a pretty big project - the *requirements* for that code are
long and complex, let alone the implementation, and the testing is tough. 
Probably we'd be better off finding some nasty hack to (yet again) paper up
the existing code while we have time to think about a reimplementation.

--
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>

  reply	other threads:[~2007-07-17  0:15 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-07-12  4:21 Ken Chen
2007-07-12 19:05 ` Andrew Morton
2007-07-13 22:17   ` Ken Chen
2007-07-17  0:01     ` Ken Chen
2007-07-17  0:15       ` Andrew Morton [this message]
     [not found]       ` <20070719025927.GA11874@mail.ustc.edu.cn>
2007-07-19  2:59         ` Fengguang Wu
2007-07-19  3:10           ` Andrew Morton
     [not found]             ` <20070719080910.GA7459@mail.ustc.edu.cn>
2007-07-19  8:09               ` Fengguang Wu
2007-07-19  8:18                 ` Andrew Morton
2007-07-19 22:18                   ` David Chinner

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=20070716171537.0a57e6e7.akpm@linux-foundation.org \
    --to=akpm@linux-foundation.org \
    --cc=kenchen@google.com \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox