From patchwork Fri Jul 1 14:07:39 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Josef Bacik X-Patchwork-Id: 935952 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by demeter2.kernel.org (8.14.4/8.14.4) with ESMTP id p61E7nxP028464 for ; Fri, 1 Jul 2011 14:07:49 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756599Ab1GAOHq (ORCPT ); Fri, 1 Jul 2011 10:07:46 -0400 Received: from mx1.redhat.com ([209.132.183.28]:44264 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756477Ab1GAOHp (ORCPT ); Fri, 1 Jul 2011 10:07:45 -0400 Received: from int-mx01.intmail.prod.int.phx2.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id p61E7esZ030254 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Fri, 1 Jul 2011 10:07:41 -0400 Received: from ns3.rdu.redhat.com (ns3.rdu.redhat.com [10.11.255.199]) by int-mx01.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id p61E7ejq022105; Fri, 1 Jul 2011 10:07:40 -0400 Received: from localhost.localdomain (vpn-11-148.rdu.redhat.com [10.11.11.148]) by ns3.rdu.redhat.com (8.13.8/8.13.8) with ESMTP id p61E7dCQ021533; Fri, 1 Jul 2011 10:07:39 -0400 Message-ID: <4E0DD4AB.9040900@redhat.com> Date: Fri, 01 Jul 2011 10:07:39 -0400 From: Josef Bacik User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.17) Gecko/20110428 Fedora/3.1.10-1.fc15 Lightning/1.0b2 Thunderbird/3.1.10 MIME-Version: 1.0 To: Btrfs mailing list CC: Proskurin Kirill Subject: Re: [btrfs-transacti] & btrfs-endio-wri] - WAS: Re: [btrfs-delalloc-] References: <4E0D7323.9010202@corp.mail.ru> In-Reply-To: <4E0D7323.9010202@corp.mail.ru> X-Enigmail-Version: 1.1.2 X-Scanned-By: MIMEDefang 2.67 on 10.5.11.11 Sender: linux-btrfs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-btrfs@vger.kernel.org X-Greylist: IP, sender and recipient auto-whitelisted, not delayed by milter-greylist-4.2.6 (demeter2.kernel.org [140.211.167.43]); Fri, 01 Jul 2011 14:07:49 +0000 (UTC) On 07/01/2011 03:11 AM, Proskurin Kirill wrote: > On 06/30/2011 09:13 PM, Josef Bacik wrote: >> On 06/30/2011 10:12 AM, Proskurin Kirill wrote: >>> On 06/29/2011 08:14 PM, Josef Bacik wrote: >>>>> Ok - I upgrade to 2.6.39-2 but it is seems to all things get worse. >>>>> Now I see [btrfs-transacti]& btrfs-endio-wri] 80-100% all the > time and >>>>> io performance looks like lower then before. >>>>> >>>>> Our scribe daemon in state D most of the time with half of a normal >>>>> load. Only kernel was changed. >>>>> >>>>> Any performance tune recommendation? >>>>> >>>> >>>> Can you get sysrq+w while this problem is happening so we can see whats >>>> going on? Thanks, >>> >>> I attached sysrq+w. Hope it helps. >>> >> >> Heh so it just looks like you are writing a bunch of stuff, that's not >> particularly helpful. What does this program do generically? How full >> is your fs? Do you have snapshots/subvolumes? If so how many? Thanks, > > I found what my btrfs partition now is really slow. Something wrong > happend. I try on 2.6.32 and 2.6.39 - same result. It is because > partition is almost full? > > I run a simple cycle to clean some old files: > for i in `cat /tmp/delit`; do rm -f $i ; done > > And it is takes about 5-10 second per file to delete. > I get sysrq+w while rm is work - it is attached. > Just a shot in the dark, but will you give this a shot and let me know how it goes? Thanks Josef break; --- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" 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/btrfs/transaction.c b/fs/btrfs/transaction.c index 654755b..698a406 100644 --- a/fs/btrfs/transaction.c +++ b/fs/btrfs/transaction.c @@ -475,12 +475,6 @@ static int __btrfs_end_transaction(struct btrfs_trans_handle *trans, trans->transaction->delayed_refs.num_heads_ready > 64) { trans->delayed_ref_updates = 0; - /* - * do a full flush if the transaction is trying - * to close - */ - if (trans->transaction->delayed_refs.flushing) - cur = 0; btrfs_run_delayed_refs(trans, root, cur); } else {