X-Spam-Checker-Version: SpamAssassin 3.4.0-r929098 (2010-03-30) on oss.sgi.com X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham version=3.4.0-r929098 Received: from cuda.sgi.com (cuda3.sgi.com [192.48.176.15]) by oss.sgi.com (8.14.3/8.14.3/SuSE Linux 0.8) with ESMTP id o46Npt8w137294 for ; Thu, 6 May 2010 18:51:55 -0500 X-ASG-Debug-ID: 1273190043-413200670000-NocioJ X-Barracuda-URL: http://cuda.sgi.com:80/cgi-bin/mark.cgi Received: from mail.internode.on.net (localhost [127.0.0.1]) by cuda.sgi.com (Spam Firewall) with ESMTP id 1C483136DE43 for ; Thu, 6 May 2010 16:54:04 -0700 (PDT) Received: from mail.internode.on.net (bld-mail13.adl6.internode.on.net [150.101.137.98]) by cuda.sgi.com with ESMTP id oFMA5tk8poayg6jb for ; Thu, 06 May 2010 16:54:04 -0700 (PDT) Received: from dastard (unverified [121.45.169.108]) by mail.internode.on.net (SurgeMail 3.8f2) with ESMTP id 23509891-1927428 for multiple; Fri, 07 May 2010 09:24:02 +0930 (CST) Received: from dave by dastard with local (Exim 4.71) (envelope-from ) id 1OAAtF-0006Z4-Jx; Fri, 07 May 2010 09:54:01 +1000 Date: Fri, 7 May 2010 09:54:01 +1000 From: Dave Chinner To: Christoph Hellwig Cc: xfs@oss.sgi.com X-ASG-Orig-Subj: Re: [PATCH 0/11] xfs: delayed logging Subject: Re: [PATCH 0/11] xfs: delayed logging Message-ID: <20100506235401.GD19579@dastard> References: <1273110351-2333-1-git-send-email-david@fromorbit.com> <20100506132641.GC19579@dastard> <20100506191218.GA18555@infradead.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20100506191218.GA18555@infradead.org> User-Agent: Mutt/1.5.20 (2009-06-14) X-Barracuda-Connect: bld-mail13.adl6.internode.on.net[150.101.137.98] X-Barracuda-Start-Time: 1273190045 X-Barracuda-Bayes: INNOCENT GLOBAL 0.0001 1.0000 -2.0204 X-Barracuda-Virus-Scanned: by cuda.sgi.com at sgi.com X-Barracuda-Spam-Score: -2.02 X-Barracuda-Spam-Status: No, SCORE=-2.02 using per-user scores of TAG_LEVEL=2.0 QUARANTINE_LEVEL=1000.0 KILL_LEVEL=2.1 tests= X-Barracuda-Spam-Report: Code version 3.2, rules version 3.2.2.29236 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------------------------- X-Virus-Scanned: ClamAV version 0.94.2, clamav-milter version 0.94.2 on oss.sgi.com X-Virus-Status: Clean On Thu, May 06, 2010 at 03:12:18PM -0400, Christoph Hellwig wrote: > > Secondly, for delayed logging only, matching by transaction > > structure address triggers the failure because busy extents > > have a much longer life than the transaction structure. It is clear > > why the transaction ID matching didn't trip over - it would have > > triggered a log force in this situation, and hence blocked until > > the checkpoint that fs_mark-2742 had triggered was complete before > > redoing the rbtree insert. > > True, the busy extents get spliced over to the cil context, so they > outlive the transaction structure. > > > Right now I'm simply going to go back to using the transaction ID > > for matching transactions, even though the above analysis points out > > that even that is not as efficient as it could be for delayed > > logging. That is, we don't even need to force the log or have a > > synchronous transaction if the extent was first freed in the current > > checkpoint seqeunce. Doing that, however, requires pinning the > > checkpoint sequence (i.e. preventing a flush) until the current > > transaction commits. While that is in the plan for delayed logging, > > it is future functionality and hence I'm not going to attempt to > > design and implement it this close to 2.6.35-rc cycle. [*] > > Sounds fine to me. I'm not a fan of exporting the tid, but it > seems like there's no good way around it for now. Please make the > tid exporting a separate changeset so that it's easily revertable > once this is sorted out. Yeah, that's a good idea. > And documenting all this in comments in the code so that it's archived > would be very useful! Will do. Cheers, Dave. -- Dave Chinner david@fromorbit.com