Received: by 2002:a05:7412:f589:b0:e2:908c:2ebd with SMTP id eh9csp259512rdb; Tue, 31 Oct 2023 06:55:21 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFMlxYlT/QG6rdZi4BoQw3F95wJNlOHeXrHcOnaQlwVHb8buzfAonnHA9HrIaMYEYzy/sOq X-Received: by 2002:a17:902:d48a:b0:1cc:5168:688 with SMTP id c10-20020a170902d48a00b001cc51680688mr6113677plg.60.1698760521005; Tue, 31 Oct 2023 06:55:21 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1698760520; cv=none; d=google.com; s=arc-20160816; b=BgcWgZHvAvfan2fRlAQFIPNs5XTruuOStnSI6Efpx4eAQfCmLjqc3xN+OxcV7PKioq tWwdB7FYVSHSgNvSCo2xAqOJt+f0KN++l5y6HhEdQDcgH4ufh+6k3+81GNrGPPc0sg3O fpoGPib9x3KZNORGEOx6aVCGo+h+kj4XXseWl4zTsZdn8/ztIFsx3HqY/Vbochjs1mg5 zVEcqGrFx8Qc8e98wktS5IXhdORfIN2IufWNOjUQmNRVws6TxsHR6mp7T13qTE3ccYvs 2pViOSJPKghPmqfInivMXbjX37ybyOepiuE3tjo8wkSYfnY5Tul9qzv+Y5jmtuNyjGpm XN+A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:user-agent :content-transfer-encoding:references:in-reply-to:date:cc:to:from :subject:message-id:dkim-signature; bh=qIx7b2aoxjsw7TSGPFkMkmmuPqzNI4IGu1YwuirwcKE=; fh=7C41Ix39FFM54spPmTVqC8zT5JrRsxD0E05OStd1Djs=; b=bubogtuWGw4vU9oFw/zfMrwGm4vPdX/HoOXTx/bxrdeP2XGFRJiHTXCussyqcnH0y9 JlMVE5xeBFy3aKtpei0sTjZPeeXLKlK/JtGItcgjfYZicETq1tDmKvnvr/QuXMo0RLie 6zhU5R6RLg0zKGVGXv0FMKKc45vsuX/ohZWlzPg5D7vGUm56Oq2ISoSHXW4Fex1HqanF EVd17Gzalot7vOdaDIvSqsCY/lnrcSv23v7vMdqKXIKc3mbwH6goMockZt8nUvcZ7QG7 2yJm4AkFpiHMsEbI6IrRU40gUZ/Nnb4yBiHP01lA7N+HKQtQIT5EfSPCvFbuOts0rlXg VjxA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=BlTYxX8b; spf=pass (google.com: domain of linux-ext4-owner@vger.kernel.org designates 23.128.96.35 as permitted sender) smtp.mailfrom=linux-ext4-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from groat.vger.email (groat.vger.email. [23.128.96.35]) by mx.google.com with ESMTPS id n16-20020a170903111000b001cc4078b033si1048568plh.145.2023.10.31.06.55.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 31 Oct 2023 06:55:20 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-ext4-owner@vger.kernel.org designates 23.128.96.35 as permitted sender) client-ip=23.128.96.35; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=BlTYxX8b; spf=pass (google.com: domain of linux-ext4-owner@vger.kernel.org designates 23.128.96.35 as permitted sender) smtp.mailfrom=linux-ext4-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by groat.vger.email (Postfix) with ESMTP id 80D1380A9A9D; Tue, 31 Oct 2023 06:55:16 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at groat.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1344686AbjJaNzQ (ORCPT + 99 others); Tue, 31 Oct 2023 09:55:16 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42118 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1344672AbjJaNzP (ORCPT ); Tue, 31 Oct 2023 09:55:15 -0400 Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3D377F9; Tue, 31 Oct 2023 06:55:13 -0700 (PDT) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 927C6C433C8; Tue, 31 Oct 2023 13:55:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1698760512; bh=qIx7b2aoxjsw7TSGPFkMkmmuPqzNI4IGu1YwuirwcKE=; h=Subject:From:To:Cc:Date:In-Reply-To:References:From; b=BlTYxX8bg/TyNm9k1G7hqu+6cgvScqLMmrYdwjXbvP2dLhoZwu81/Hd86RFZNrRU0 1xr5Y7vFw1ElqKWf1uTmJEmuJvF5L9j3yFfh7ymcf50H/LGvdULGaZ9r81Rim15VMH 4BUULsumVrnHeBwimSaTDD/NGbj2ueM3Eg/nxhkdFB1V+ajGM0vsdulmLTlFZNgwMn vt13jgmtUQuW2BcVFTQDAsGHT0Gmcoujtaha2sh9SXpVB++uDD9vrm6H7Cx6inillP sk1nXdn297tkqDQqx2pR+3iapmU6fN1aVLAWEUbQ/flcaA2j5xZmgzrdZMzAsb7osR s91m60OYKHeag== Message-ID: Subject: Re: [PATCH RFC 2/9] timekeeping: new interfaces for multigrain timestamp handing From: Jeff Layton To: Christian Brauner Cc: Linus Torvalds , Alexander Viro , John Stultz , Thomas Gleixner , Stephen Boyd , Chandan Babu R , "Darrick J. Wong" , Dave Chinner , Theodore Ts'o , Andreas Dilger , Chris Mason , Josef Bacik , David Sterba , Hugh Dickins , Andrew Morton , Amir Goldstein , Jan Kara , David Howells , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, linux-xfs@vger.kernel.org, linux-ext4@vger.kernel.org, linux-btrfs@vger.kernel.org, linux-mm@kvack.org, linux-nfs@vger.kernel.org Date: Tue, 31 Oct 2023 09:55:09 -0400 In-Reply-To: <20231031-stark-klar-0bab5f9ab4dc@brauner> References: <20231018-mgtime-v1-0-4a7a97b1f482@kernel.org> <20231018-mgtime-v1-2-4a7a97b1f482@kernel.org> <5f96e69d438ab96099bb67d16b77583c99911caa.camel@kernel.org> <20231019-fluor-skifahren-ec74ceb6c63e@brauner> <0a1a847af4372e62000b259e992850527f587205.camel@kernel.org> <20231031-stark-klar-0bab5f9ab4dc@brauner> Content-Type: text/plain; charset="ISO-8859-15" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.48.4 (3.48.4-1.fc38) MIME-Version: 1.0 X-Spam-Status: No, score=-1.7 required=5.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on groat.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-ext4@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (groat.vger.email [0.0.0.0]); Tue, 31 Oct 2023 06:55:16 -0700 (PDT) On Tue, 2023-10-31 at 11:26 +0100, Christian Brauner wrote: > On Thu, Oct 19, 2023 at 07:28:48AM -0400, Jeff Layton wrote: > > On Thu, 2023-10-19 at 11:29 +0200, Christian Brauner wrote: > > > > Back to your earlier point though: > > > >=20 > > > > Is a global offset really a non-starter? I can see about doing some= thing > > > > per-superblock, but ktime_get_mg_coarse_ts64 should be roughly as c= heap > > > > as ktime_get_coarse_ts64. I don't see the downside there for the no= n- > > > > multigrain filesystems to call that. > > >=20 > > > I have to say that this doesn't excite me. This whole thing feels a b= it > > > hackish. I think that a change version is the way more sane way to go= . > > >=20 > >=20 > > What is it about this set that feels so much more hackish to you? Most > > of this set is pretty similar to what we had to revert. Is it just the > > timekeeper changes? Why do you feel those are a problem? >=20 > So I think that the multi-grain timestamp work was well intended but it > was ultimately a mistake. Because we added code that complicated > timestamp timestamp handling in the vfs to a point where the costs > clearly outweighed the benefits. >=20 > And I don't think that this direction is worth going into. This whole > thread ultimately boils down to complicating generic infrastructure > quite extensively for nfs to handle exposing xfs without forcing an > on-disk format change. That's even fine. >=20 > That's not a problem but in the same way I don't think the solution is > just stuffing this complexity into the vfs. IOW, if we make this a vfs > problem then at the lowest possible cost and not by changing how > timestamps work for everyone even if it's just internal. I'll point out that this last posting I did was an RFC. It was invasive to the timekeeping code, but I don't think that's a hard requirement for doing this. I do appreciate the feedback on this version of the series (particularly from Thomas who gave a great technical reason why this approach was wrong), but I don't think we necessarily have to give up on the whole idea because this particular implementation was too costly. The core idea for fixing the problem with the original series is sane, IMO. There is nothing wrong with simply making it that when we stamp a file with a fine-grained timestamp that we consider that a floor for all later timestamp updates. The only real question is how to keep that (global) fine-grained floor offset at a low cost. I think that's a solvable problem. I also believe that real, measurable fine-grained timestamp differences are worthwhile for other use cases beyond NFS. Everyone was pointing out the problems with lagging timestamps vs. make and rsync, but that's a double-edged sword. With the current always coarse-grained timestamps, the ordering of files written within the same jiffy can't be determined since their timestamps will be identical. We could conceivably change that with this series. That said, if this has no chance of ever being merged, then I won't bother working on it further, and we can try to pursue something that is (maybe) XFS-specific. Let me know, either way. -- Jeff Layton