Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp2537458ybl; Sat, 11 Jan 2020 20:03:39 -0800 (PST) X-Google-Smtp-Source: APXvYqzI2L0PTVorMlbRTbCIUH/GM3bNQqKWCz2raQvHhcNILs7DY2S023oQkzr58WsqBXL5/yt1 X-Received: by 2002:a9d:75c5:: with SMTP id c5mr8782919otl.172.1578801819468; Sat, 11 Jan 2020 20:03:39 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1578801819; cv=none; d=google.com; s=arc-20160816; b=wjEZpRaVKVaZ8Fe6+qeKefzoxpxVwc6V+wW87Iil7QRjBLOnv3paS4Q9hMhPX6sjHu wGkhJOG2KzpYlFoP7nj/yD9ebvuHANwQ79YAnt9uHI3SCAkx78uYI/rLecFBxmyFJNjq uN0ig27h+WeOVupZUog+NiOjIm1bYp3xvUKG6RzxiBZ8fIA2Nt9CzSAcXWj9exE0j0oW 8Pv1UBqqHYDNwmBTb8bITX87jkD7ce4jt+Wk9IwdoC5oQKVOVKUxR15U8xEfw8JceUtx n2hq8ZWSrWwx9wBxBekxenWnEstsI61NUnEKNQzL2/WKTZjq3mwk7en9dFpKMFv5n3fd HvNQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:in-reply-to:content-disposition :mime-version:references:message-id:subject:cc:to:from:date; bh=/VrZI3oUQ8T/SvxNXMfKQ6XP0NePp/xudCpsmoe6LkA=; b=A34ZfxIa3A1bnVb4fR5ObFblkIFQCTlvCpiL5yzTvBRI6wLnfb1IEf+p9lABBVSOox xaExg6Q8BHdD70BAkihJsp2CBZXC4ajew8lkyu84xrmhJfTpU1VisAleMttKW/nUOpCG IchwOM0PZqO7I+lae0lWjI9mXJ/QBgTJ4He3H883x5rm1nOXiG40ewr0NGRqsU5E2w0O X4dZfRbk9HwjSyKo1ux18DeabXbVExv6ejcyXLwAv8PrmSZaCF+uzAeI/ZiaUg9LVrR4 cFb+mPqrR7LDJpZBABBEQq6o3ITJxJW+mQ7huQeGSy8ucNP7BOnStmXxhw6Hy1LTpTFG kZHg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-ext4-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-ext4-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id k37si5091926otk.89.2020.01.11.20.02.58; Sat, 11 Jan 2020 20:03:39 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-ext4-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-ext4-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-ext4-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1732097AbgALDpb (ORCPT + 99 others); Sat, 11 Jan 2020 22:45:31 -0500 Received: from outgoing-auth-1.mit.edu ([18.9.28.11]:38864 "EHLO outgoing.mit.edu" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1732096AbgALDpb (ORCPT ); Sat, 11 Jan 2020 22:45:31 -0500 Received: from callcc.thunk.org (pool-72-93-95-157.bstnma.fios.verizon.net [72.93.95.157]) (authenticated bits=0) (User authenticated as tytso@ATHENA.MIT.EDU) by outgoing.mit.edu (8.14.7/8.12.4) with ESMTP id 00C3jQaI020231 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Sat, 11 Jan 2020 22:45:27 -0500 Received: by callcc.thunk.org (Postfix, from userid 15806) id CEB634207DF; Sat, 11 Jan 2020 22:45:26 -0500 (EST) Date: Sat, 11 Jan 2020 22:45:26 -0500 From: "Theodore Y. Ts'o" To: xiaohui li Cc: Harshad Shirwadkar , Ext4 Developers List Subject: Re: [PATCH v4 01/20] ext4: update docs for fast commit feature Message-ID: <20200112034526.GB359630@mit.edu> References: <20191224081324.95807-1-harshadshirwadkar@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Sender: linux-ext4-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-ext4@vger.kernel.org On Thu, Jan 09, 2020 at 12:29:01PM +0800, xiaohui li wrote: > maybe i have not understand the difficulty of the fast commit coding work. > so I appreciate it very much if you give some more detailed > descriptions about the patches correlationship of v4 fast commit, > especially the reason why need have so many patches. > > from my viewpoint, the purpose of doing this fast commit function is > to resolve the ext4 fsync time-cost-so-much problem. > firstly we need to resolve some actual customer problems which exist > in ext4 filesystems when doing this fast commit function. > > so the first release version of fast commit is just only to accomplish > the goal of reducing the time cost of fsync because of jbd2 order > shortcoming described in ijournal paper from my opinion. > it need not do so many other unnecessary things. As Harshad has mentioned, one of the reasons why an incremental approach does not make sense is that once we release a version of fast commit into a mainline kernel, we have to worry about what happens if users start trying to use it, and we have to provide backwards compatibility for it. So if we were to break up fast commit into 5 parts, then we would have to allocate 5 feature bits, and we would have to support each version of fast commit --- essentially forever. As far as why are we doing this, we absolutely have a specific use case in mind, and that's to improve ext4's performance when used on a NFS server. The NFS protocol requires that any file system operation requested by a client is persisted before the server sends an acknowledgement back to the client. For the workloads that are heavy with metadata updates, avoiding the need to do a full jbd2 commit for every NFS RPC request which modifies metadata will a big difference to the NFS server's performance. This is why we are interested in making things like renames to be fast commit eligible, and not just the smaller set of system calls needed by (for example) SQLite. Regards, - Ted