Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752024AbbESUeA (ORCPT ); Tue, 19 May 2015 16:34:00 -0400 Received: from mail.lang.hm ([64.81.33.126]:41690 "EHLO bifrost.lang.hm" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751295AbbESUd5 (ORCPT ); Tue, 19 May 2015 16:33:57 -0400 Date: Tue, 19 May 2015 13:33:31 -0700 (PDT) From: David Lang X-X-Sender: dlang@asgard.lang.hm To: Daniel Phillips cc: Jan Kara , linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, tux3@tux3.org, OGAWA Hirofumi , Rik van Riel , OGAWA Hirofumi Subject: Re: [FYI] tux3: Core changes In-Reply-To: <555B8C79.4090909@phunq.net> Message-ID: References: <8f886f13-6550-4322-95be-93244ae61045@phunq.net> <55545C2F.8040207@phunq.net> <20150519140045.GA16313@quack.suse.cz> <555B8C79.4090909@phunq.net> User-Agent: Alpine 2.02 (DEB 1266 2009-07-14) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2536 Lines: 49 On Tue, 19 May 2015, Daniel Phillips wrote: >> I understand that Tux3 may avoid these issues due to some other mechanisms >> it internally has but if page forking should get into mm subsystem, the >> above must work. > > It does work, and by example, it does not need a lot of code to make > it work, but the changes are not trivial. Tux3's delta writeback model > will not suit everyone, so you can't just lift our code and add it to > Ext4. Using it in Ext4 would require a per-inode writeback model, which > looks practical to me but far from a weekend project. Maybe something > to consider for Ext5. > > It is the job of new designs like Tux3 to chase after that final drop > of performance, not our trusty Ext4 workhorse. Though stranger things > have happened - as I recall, Ext4 had O(n) directory operations at one > time. Fixing that was not easy, but we did it because we had to. Fixing > Ext4's write performance is not urgent by comparison, and the barrier > is high, you would want jbd3 for one thing. > > I think the meta-question you are asking is, where is the second user > for this new CoW functionality? With a possible implication that if > there is no second user then Tux3 cannot be merged. Is that is the > question? I don't think they are asking for a second user. What they are saying is that for this functionality to be accepted in the mm subsystem, these problem cases need to work reliably, not just work for Tux3 because of your implementation. So for things that you don't use, you need to make it an error if they get used on a page that's been forked (or not be an error and 'do the right thing') For cases where it doesn't matter because Tux3 controls the writeback, and it's undefined in general what happens if writeback is triggered twice on the same page, you will need to figure out how to either prevent the second writeback from triggering if there's one in process, or define how the two writebacks are going to happen so that you can't end up with them re-ordered by some other filesystem. I think that that's what's meant by the top statement that I left in the quote. Even if your implementation details make it safe, these need to be safe even without your implementation details to be acceptable in the core kernel. David Lang -- 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/