Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp9916017ybl; Thu, 26 Dec 2019 07:32:16 -0800 (PST) X-Google-Smtp-Source: APXvYqzHits4l0cQH3F7EYtoi+K80HVDyuHiQlY5GThSTTsYTkwZE/LiJomunQffxzaA6E7ytLn3 X-Received: by 2002:a9d:6e03:: with SMTP id e3mr35728764otr.46.1577374336730; Thu, 26 Dec 2019 07:32:16 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1577374336; cv=none; d=google.com; s=arc-20160816; b=Ey3XznpyoRlpv1dU9kTCoWPXWJJLF8prffDzfxluhNJ/nZDkA7nFbls+PS0SG2erI7 xVjUtzyhIkthp2e2lC+/ZAhjFQ0UornjNbO6m1XzsWP6BAjOxPTdtqu1wpMtoNpCIYZs huMIQ+AjJrjBPMIKAhmO8RBeW36s8VfKpzoXQQN+wI5zW4UtJTdF7BqxwbSXI1DnQAbu TdLlQU1RbfGZm/oLd6G4myfJk8xfELoNKCGGyWPLrgKTcdY6fsIUypTXPHq2RdhqfeW9 6skLk5Cba23NwF5if6N3w97NzcAO+3MMuhXxUtrB7GwQ9rkJ8URCFHl6wqtXCUT4TDfG WKuA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-disposition:mime-version :message-id:subject:cc:to:from:date; bh=uJTHuDtUdnn/gotSY+KsI75RT6bIM1otbkMfJAPZgVU=; b=rqLziH65U5DtIpZi+/qj8ofTv8znZ3nJ6UFPHTcE5ZlkQZDDC746IxNb5L/XNBJdHS /O5WU3uf1Q9yegQecysfLzqAvXFnW7a6eBPkiIrS4p2+RJKZikKX4r5mcSU8hu6hJKP4 DR2wF9PB5tjSA6XFmxe0F0z2ZcVWWNd8LLmhI7KL9BHbbulM4krrgwT+quH9f5XCCa1c jg3zaSUuy5gWlx0fRcfR0lcvxMSNZ4jYSkxh6gPIBMXupWtFl46NbQhxBEsdlszVCb/l N3tFERDbduUHzN8Oo6LUB4kiZEWJHlZAQPaiGkXvEBECwXW30bldxdeR6I5Zbg1+tM/J tzzA== 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 38si10067323otj.136.2019.12.26.07.31.44; Thu, 26 Dec 2019 07:32:16 -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 S1726336AbfLZPbb (ORCPT + 99 others); Thu, 26 Dec 2019 10:31:31 -0500 Received: from outgoing-auth-1.mit.edu ([18.9.28.11]:44937 "EHLO outgoing.mit.edu" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726236AbfLZPbb (ORCPT ); Thu, 26 Dec 2019 10:31:31 -0500 Received: from callcc.thunk.org (96-72-84-49-static.hfc.comcastbusiness.net [96.72.84.49] (may be forged)) (authenticated bits=0) (User authenticated as tytso@ATHENA.MIT.EDU) by outgoing.mit.edu (8.14.7/8.12.4) with ESMTP id xBQFVITQ021452 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 26 Dec 2019 10:31:20 -0500 Received: by callcc.thunk.org (Postfix, from userid 15806) id 65041420485; Thu, 26 Dec 2019 10:31:18 -0500 (EST) Date: Thu, 26 Dec 2019 10:31:18 -0500 From: "Theodore Y. Ts'o" To: Ext4 Developers List Cc: joseph.qi@linux.alibaba.com, Liu Bo Subject: Discussion: is it time to remove dioread_nolock? Message-ID: <20191226153118.GA17237@mit.edu> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Sender: linux-ext4-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-ext4@vger.kernel.org With inclusion of Ritesh's inode lock scalability patches[1], the traditional performance reasons for dioread_nolock --- namely, removing the need to take an exclusive lock for Direct I/O read operations --- has been removed. [1] https://lore.kernel.org/r/20191212055557.11151-1-riteshh@linux.ibm.com So... is it time to remove the code which supports dioread_nolock? Doing so would simplify the code base, and reduce the test matrix. This would also make it easier to restructure the write path when allocating blocks so that the extent tree is updated after writing out the data blocks, by clearing away the underbrush of dioread nolock first. If we do this, we'd leave the dioread_nolock mount option for backwards compatibility, but it would be a no-op and not actually do anything. Any objections before I look into ripping out dioread_nolock? The one possible concern that I considered was for Alibaba, which was doing something interesting with dioread_nolock plus nodelalloc. But looking at Liu Bo's explanation[2], I believe that their workload would be satisfied simply by using the standard ext4 mount options (that is, the default mode has the performance benefits when doing parallel DIO reads, and so the need for nodelalloc to mitigate the tail latency concerns which Alibaba was seeing in their workload would not be needed). Could Liu or someone from Alibaba confirm, perhaps with some benchmarks using their workload? [2] https://lore.kernel.org/linux-ext4/20181121013035.ab4xp7evjyschecy@US-160370MP2.local/ - Ted