All of lore.kernel.org
 help / color / mirror / Atom feed
From: Zheng Liu <gnehzuil.liu@gmail.com>
To: Jan Kara <jack@suse.cz>
Cc: "刘峥(文卿)" <wenqing.lz@alibaba-inc.com>,
	"Theodore Ts'o" <tytso@mit.edu>,
	linux-ext4@vger.kernel.org, "刘峥(文卿)" <wenqing.lz@taobao.com>,
	"Andreas Dilger" <adilger.kernel@dilger.ca>
Subject: Re: [PATCH v3 0/6] ext4: extents status tree shrinker improvement
Date: Fri, 7 Nov 2014 10:38:40 +0800	[thread overview]
Message-ID: <20141107023840.GA5420@gmail.com> (raw)
In-Reply-To: <20141103161046.GA17319@quack.suse.cz>

On Mon, Nov 03, 2014 at 05:10:46PM +0100, Jan Kara wrote:
>   Hello,
> 
> On Tue 21-10-14 23:58:10, 刘峥(文卿) wrote:
> > I deeply sorry for this because of my delay work.  I don’t have any objection
> > for Jan’s suggestions.  Until now there are still some works that push me
> > tough, and I can see that I don’t have time to finish it at this merge
> > window.  It’s a shame for me!
> > 
> > Jan, I really really appreciate if you are willing to push this patch set
> > to completion.  Thanks!!!
>   OK, I have updated the patches according to the review I and Ted did. It
> survives basic fsstress run. How were you testing your patches? I should
> probably also gather some statistics etc...

Thanks!!

Here are my test cases for performance.

case 1:
  [global]
  ioengine=psync
  bs=4k
  directory=/mnt/sda1
  thread
  group_reporting
  fallocate=0
  direct=0
  filesize=10g
  size=20g
  runtime=300
  
  [io]
  rw=randwrite:32
  rw_sequencer=sequential
  numjobs=25
  nrfiles=10

case 2:
  [global]
  ioengine=psync
  bs=4k
  directory=/mnt/sda1
  group_reporting
  fallocate=0
  direct=0
  filesize=10g
  size=20g
  runtime=300
  
  [io]
  rw=write:4k
  numjobs=15
  nrfiles=20000

For getting a really fragmented extent status tree, I will disable
extent status tree merge as I run these test cases.  The patch looks
like below:

diff --git a/fs/ext4/extents_status.c b/fs/ext4/extents_status.c
index 09fd576..0946f50 100644
--- a/fs/ext4/extents_status.c
+++ b/fs/ext4/extents_status.c
@@ -351,6 +351,7 @@ static void ext4_es_free_extent(struct inode *inode, struct extent_status *es)
 static int ext4_es_can_be_merged(struct extent_status *es1,
 				 struct extent_status *es2)
 {
+#if 0
 	if (ext4_es_status(es1) != ext4_es_status(es2))
 		return 0;
 
@@ -376,6 +377,7 @@ static int ext4_es_can_be_merged(struct extent_status *es1,
 	/* we need to check delayed extent is without unwritten status */
 	if (ext4_es_is_delayed(es1) && !ext4_es_is_unwritten(es1))
 		return 1;
+#endif
 
 	return 0;
 }


In the mean time, the following sysctl parameters are adjusted to keep
dirty data in memory as much as possible.

sudo sysctl vm.dirty_ratio=80
sudo sysctl vm.dirty_background_ratio=60

Thanks,
                                                - Zheng
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

  reply	other threads:[~2014-11-07  2:27 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-08-07  3:35 [PATCH v3 0/6] ext4: extents status tree shrinker improvement Zheng Liu
2014-08-07  3:35 ` [PATCH v3 1/6] ext4: improve extents status tree trace point Zheng Liu
2014-09-02  2:25   ` Theodore Ts'o
2014-08-07  3:35 ` [PATCH v3 2/6] ext4: track extent status tree shrinker delay statictics Zheng Liu
2014-08-27 13:26   ` Jan Kara
2014-09-04 12:10     ` Zheng Liu
2014-09-04 15:49       ` Theodore Ts'o
2014-08-07  3:35 ` [PATCH v3 3/6] ext4: cache extent hole in extent status tree for ext4_da_map_blocks() Zheng Liu
2014-08-27 13:55   ` Jan Kara
2014-09-04 13:05     ` Zheng Liu
2014-09-02  2:43   ` Theodore Ts'o
2014-09-04 13:04     ` Zheng Liu
2014-09-04 15:54       ` Theodore Ts'o
2014-08-07  3:35 ` [PATCH v3 4/6] ext4: change lru to round-robin in extent status tree shrinker Zheng Liu
2014-08-27 15:01   ` Jan Kara
2014-09-03  3:37     ` Theodore Ts'o
2014-09-03 15:31       ` Jan Kara
2014-09-03 20:00         ` Theodore Ts'o
2014-09-03 22:14           ` Jan Kara
2014-09-03 22:38             ` Theodore Ts'o
     [not found]               ` <20140904071553.GA26930@quack.suse.cz>
2014-09-04 15:44                 ` Theodore Ts'o
2014-09-08 15:47                   ` Jan Kara
2014-08-07  3:35 ` [PATCH v3 5/6] ext4: use a list to track all reclaimable objects for extent status tree Zheng Liu
2014-08-27 15:13   ` Jan Kara
2014-09-03  3:44     ` Theodore Ts'o
2014-08-07  3:35 ` [PATCH v3 6/6] ext4: use a garbage collection algorithm to manage object Zheng Liu
2014-08-27 15:24   ` Jan Kara
2014-10-20 14:48 ` [PATCH v3 0/6] ext4: extents status tree shrinker improvement Theodore Ts'o
2014-10-21 10:22   ` Jan Kara
2014-10-21 15:58     ` 刘峥(文卿)
2014-11-03 16:10       ` Jan Kara
2014-11-07  2:38         ` Zheng Liu [this message]
2014-11-13 23:40         ` Theodore Ts'o

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=20141107023840.GA5420@gmail.com \
    --to=gnehzuil.liu@gmail.com \
    --cc=adilger.kernel@dilger.ca \
    --cc=jack@suse.cz \
    --cc=linux-ext4@vger.kernel.org \
    --cc=tytso@mit.edu \
    --cc=wenqing.lz@alibaba-inc.com \
    --cc=wenqing.lz@taobao.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.