LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
From: Chris Mason <chris.mason@oracle.com>
To: Tomasz Chmielewski <mangoo@wpkg.org>
Cc: Theodore Tso <tytso@mit.edu>, Andi Kleen <andi@firstfloor.org>,
	LKML <linux-fsdevel@vger.kernel.org>,
	LKML <linux-kernel@vger.kernel.org>
Subject: Re: very poor ext3 write performance on big filesystems?
Date: Tue, 19 Feb 2008 11:04:49 -0500	[thread overview]
Message-ID: <200802191104.49482.chris.mason@oracle.com> (raw)
In-Reply-To: <47BAF3FF.3070300@wpkg.org>

On Tuesday 19 February 2008, Tomasz Chmielewski wrote:
> Chris Mason schrieb:
> > On Tuesday 19 February 2008, Tomasz Chmielewski wrote:
> >> Theodore Tso schrieb:
> >>
> >> (...)
> >>
> >>> The following ld_preload can help in some cases.  Mutt has this hack
> >>> encoded in for maildir directories, which helps.
> >>
> >> It doesn't work very reliable for me.
> >>
> >> For some reason, it hangs for me sometimes (doesn't remove any files, rm
> >> -rf just stalls), or segfaults.
> >
> > You can go the low-tech route (assuming your file names don't have spaces
> > in them)
> >
> > find . -printf "%i %p\n" | sort -n | awk '{print $2}' | xargs rm
>
> Why should it make a difference?

It does something similar to Ted's ld preload, sorting the results from 
readdir by inode number before using them.  You will still seek quite a lot 
between the directory entries, but operations on the files themselves will go 
in a much more optimal order.  It might help.

>
> Does "find" find filenames/paths faster than "rm -r"?
>
> Or is "find once/remove once" faster than "find files/rm files/find
> files/rm files/...", which I suppose "rm -r" does?

rm -r does removes things in the order that readdir returns.  In your hard 
linked tree (on almost any FS), this will be very random.  The sorting is 
probably the best you can do from userland to optimize the ordering.

-chris


  reply	other threads:[~2008-02-19 16:07 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-02-18 12:57 Tomasz Chmielewski
2008-02-18 14:03 ` Andi Kleen
2008-02-18 14:16   ` Theodore Tso
2008-02-18 15:02     ` Tomasz Chmielewski
2008-02-18 15:16       ` Theodore Tso
2008-02-18 15:57         ` Andi Kleen
2008-02-18 15:35           ` Theodore Tso
2008-02-20 10:57             ` Jan Engelhardt
2008-02-20 17:44               ` David Rees
2008-02-20 18:08                 ` Jan Engelhardt
2008-02-18 16:16         ` Tomasz Chmielewski
2008-02-18 18:45           ` Theodore Tso
2008-02-18 15:18     ` Andi Kleen
2008-02-18 15:03       ` Theodore Tso
2008-02-19 14:54     ` Tomasz Chmielewski
2008-02-19 15:06       ` Chris Mason
2008-02-19 15:21         ` Tomasz Chmielewski
2008-02-19 16:04           ` Chris Mason [this message]
2008-02-19 18:29     ` Mark Lord
2008-02-19 18:41       ` Mark Lord
2008-02-19 18:58       ` Paulo Marques
2008-02-19 22:33         ` Mark Lord
2008-02-27 11:20     ` Tomasz Chmielewski
2008-02-27 20:03       ` Andreas Dilger
2008-02-27 20:25         ` Tomasz Chmielewski
2008-03-01 20:04         ` Bill Davidsen
2008-02-19  9:24 ` Vladislav Bolkhovitin
     [not found] <9YdLC-75W-51@gated-at.bofh.it>
     [not found] ` <9YeRh-Gq-39@gated-at.bofh.it>
     [not found]   ` <9Yf0W-SX-19@gated-at.bofh.it>
     [not found]     ` <9YfNi-2da-23@gated-at.bofh.it>
     [not found]       ` <9YfWL-2pZ-1@gated-at.bofh.it>
     [not found]         ` <9Yg6H-2DJ-23@gated-at.bofh.it>
2008-02-19 13:14           ` Paul Slootman

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=200802191104.49482.chris.mason@oracle.com \
    --to=chris.mason@oracle.com \
    --cc=andi@firstfloor.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mangoo@wpkg.org \
    --cc=tytso@mit.edu \
    --subject='Re: very poor ext3 write performance on big filesystems?' \
    /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

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