Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752000AbbD3QAz (ORCPT ); Thu, 30 Apr 2015 12:00:55 -0400 Received: from zill.ext.symas.net ([69.43.206.106]:60108 "EHLO zill.ext.symas.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750823AbbD3QAw (ORCPT ); Thu, 30 Apr 2015 12:00:52 -0400 Subject: Re: xfs: does mkfs.xfs require fancy switches to get decent performance? (was Tux3 Report: How fast can we fsync?) To: Daniel Phillips , Mike Galbraith Cc: Dave Chinner , linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, tux3@tux3.org, "Theodore Ts'o" , OGAWA Hirofumi References: <8f886f13-6550-4322-95be-93244ae61045@phunq.net> <1430274071.3363.4.camel@gmail.com> <1906f271-aa23-404b-9776-a4e2bce0c6aa@phunq.net> <1430289213.3693.3.camel@gmail.com> <1430325763.19371.41.camel@gmail.com> <1430334326.7360.25.camel@gmail.com> <20150430002008.GY15810@dastard> <1430395641.3180.94.camel@gmail.com> <1430401693.3180.131.camel@gmail.com> <55423732.2070509@phunq.net> <55423C05.1000506@symas.com> <554246D7.40105@phunq.net> From: Howard Chu Message-ID: <554251AA.2020501@symas.com> Date: Thu, 30 Apr 2015 17:00:42 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:40.0) Gecko/20100101 Firefox/40.0 SeaMonkey/2.37a1 MIME-Version: 1.0 In-Reply-To: <554246D7.40105@phunq.net> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 4191 Lines: 79 Daniel Phillips wrote: > On 04/30/2015 07:28 AM, Howard Chu wrote: >> You're reading into it what isn't there. Spreading over the disk isn't (just) about avoiding >> fragmentation - it's about delivering consistent and predictable latency. It is undeniable that if >> you start by only allocating from the fastest portion of the platter, you are going to see >> performance slow down over time. If you start by spreading allocations across the entire platter, >> you make the worst-case and average-case latency equal, which is exactly what a lot of folks are >> looking for. > > Another fallacy: intentionally running slower than necessary is not necessarily > the only way to deliver consistent and predictable latency. Totally agree with you there. > Not only that, but > intentionally running slower than necessary does not necessarily guarantee > performing better than some alternate strategy later. True, it's a question of algorithmic efficiency - does the performance decay linearly or logarithmically. > Anyway, let's not be silly. Everybody in the room who wants Git to run 4 times > slower with no guarantee of any benefit in the future, please raise your hand. git is an important workload for us as developers, but I don't think that's the only workload that's important for us. >>>> He flat stated that xfs has passable performance on >>>> single bit of rust, and openly explained why. I see no misdirection, >>>> only some evidence of bad blood between you two. >>> >>> Raising the spectre of theoretical fragmentation issues when we have not >>> even begun that work is a straw man and intellectually dishonest. You have >>> to wonder why he does it. It is destructive to our community image and >>> harmful to progress. >> >> It is a fact of life that when you change one aspect of an intimately interconnected system, >> something else will change as well. You have naive/nonexistent free space management now; when you >> design something workable there it is going to impact everything else you've already done. It's an >> easy bet that the impact will be negative, the only question is to what degree. > > You might lose that bet. For example, suppose we do strictly linear allocation > each delta, and just leave nice big gaps between the deltas for future > expansion. Clearly, we run at similar or identical speed to the current naive > strategy until we must start filling in the gaps, and at that point our layout > is not any worse than XFS, which started bad and stayed that way. > > Now here is where you lose the bet: we already know that linear allocation > with wrap ends horribly right? However, as above, we start linear, without > compromise, but because of the gaps we leave, we are able to switch to a > slower strategy, but not nearly as slow as the ugly tangle we get with > simple wrap. So impact over the lifetime of the filesystem is positive, not > negative, and what seemed to be self evident to you turns out to be wrong. > > In short, we would rather deliver as much performance as possible, all the > time. I really don't need to think about it very hard to know that is what I > want, and what most users want. > > I will make you a bet in return: when we get to doing that part properly, the > quality of the work will be just as high as everything else we have completed > so far. Why would we suddenly get lazy? I never said anything about getting lazy. You're working in a closed system though. If you run today's version on a system, and then you run your future version on that same hardware, you're doing more CPU work and probably more I/O work to do the more complex space management. It's not quite zero-sum but close enough, when you're talking about highly optimized designs. -- -- Howard Chu CTO, Symas Corp. http://www.symas.com Director, Highland Sun http://highlandsun.com/hyc/ Chief Architect, OpenLDAP http://www.openldap.org/project/ -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/