From patchwork Fri Nov 7 02:38:40 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Zheng Liu X-Patchwork-Id: 407946 Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 102781400A0 for ; Fri, 7 Nov 2014 13:27:37 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751160AbaKGC1g (ORCPT ); Thu, 6 Nov 2014 21:27:36 -0500 Received: from mail-pa0-f50.google.com ([209.85.220.50]:49364 "EHLO mail-pa0-f50.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751051AbaKGC1f (ORCPT ); Thu, 6 Nov 2014 21:27:35 -0500 Received: by mail-pa0-f50.google.com with SMTP id eu11so2498697pac.23 for ; Thu, 06 Nov 2014 18:27:35 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=date:from:to:cc:subject:message-id:mail-followup-to:references :mime-version:content-type:content-disposition :content-transfer-encoding:in-reply-to:user-agent; bh=ND7F6BaTmAn2kp46e/jiUoydz6sdIpYJuJ1sfzynNJw=; b=r17FQS5OT/O/2OH52DbG/12EyX7mYraPnIXyMfuqJydyB8BqU2u9AFlRDs9Cs2gGR9 C49Bwg+22qkGgADFLL2+w5k8TulFSa8/KwUiGIMsLfYW9mfbj5bL5ECf8CDoODnL//+N oBDDquepP79M1VJ7v13HGSgHqIXAQeS7jJt1JdvPZ1YBZMlD22ltv9YOpmBJOMjw9tuc 6+G5QBB+omXsuk8y4qWs6guwVnDAoxSq33sSs/+LMGmZqbf+OSxphJfOK+5bq14rgRvf CRc0fw+EfxxIDXSU6GG++ZLpZrV1EpXin8JSJGDhdz/feeDXbVu0lyDN5zE8SIsFZTmM GRRw== X-Received: by 10.66.142.137 with SMTP id rw9mr8839487pab.124.1415327254930; Thu, 06 Nov 2014 18:27:34 -0800 (PST) Received: from gmail.com ([202.55.20.10]) by mx.google.com with ESMTPSA id fv4sm7091998pbd.47.2014.11.06.18.27.27 for (version=TLSv1 cipher=RC4-SHA bits=128/128); Thu, 06 Nov 2014 18:27:34 -0800 (PST) Date: Fri, 7 Nov 2014 10:38:40 +0800 From: Zheng Liu To: Jan Kara Cc: =?utf-8?B?5YiY5bOlKOaWh+WNvyk=?= , Theodore Ts'o , linux-ext4@vger.kernel.org, =?utf-8?B?5YiY5bOlKOaWh+WNvyk=?= , Andreas Dilger Subject: Re: [PATCH v3 0/6] ext4: extents status tree shrinker improvement Message-ID: <20141107023840.GA5420@gmail.com> Mail-Followup-To: Jan Kara , =?utf-8?B?5YiY5bOlKOaWh+WNvyk=?= , Theodore Ts'o , linux-ext4@vger.kernel.org, =?utf-8?B?5YiY5bOlKOaWh+WNvyk=?= , Andreas Dilger References: <1407382553-24256-1-git-send-email-wenqing.lz@taobao.com> <20141020144849.GB4499@thunk.org> <20141021102228.GC2955@quack.suse.cz> <007DCBDA-B924-4B45-887C-5FFFB8749966@alibaba-inc.com> <20141103161046.GA17319@quack.suse.cz> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20141103161046.GA17319@quack.suse.cz> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-ext4-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-ext4@vger.kernel.org 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: 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 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; }