Received: by 2002:a25:e74b:0:0:0:0:0 with SMTP id e72csp100853ybh; Tue, 14 Jul 2020 19:19:41 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwh3+UdocN6GRy1XytnwHv2jIhcJByZ5VYTzxeIrtQLTnxRfzAq72voEg//Uy1/4mz2RZ9A X-Received: by 2002:aa7:da90:: with SMTP id q16mr7198156eds.44.1594779581732; Tue, 14 Jul 2020 19:19:41 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1594779581; cv=none; d=google.com; s=arc-20160816; b=0NPQi6twu0BPx3vQi1a5DrM0fs66PB1NsjqE2pDxtQP1z8wmcFHom33+z37dbnxbHS fkOUh7XStKIZIoSgv/mv5xZLL+c4LaI3vMmDHHVfhn1Adv/4QirQ3+3iB2ARw0Jj48OU W/Gf6zd+jdgP5wRgumEWru4y15jZ+wCTOQJjA4Tdcmgi972XTkhdSpmBKjE9dTYhzYpI ACyQZbtFj/gPgl/gA6tAnrgK8AN75Xp+Nd35OTK2P/hRHGcHQC+2b3ZG6qrT4tkv98ZC vs6ayuVmqANdthz9Jcr3kw9xjXDk2WtoLt/HqiiCUVTM5ZqK374zo2K78tRIYf373SkA Njug== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date; bh=JuQnkCYvlUDtgFoLPGwIFFJgGxoIcWIpa4qbqDarpfE=; b=PNnf/VUXzVois7TJKcA/sQzYWzVVDxex1UtzSFhNAXdA14kP4QsNIkE2f2SJSCsQdZ gq8tUBD4E6u1rJrqjih5GhmjFDYVPkPUdaTBZrXZUFIlawp9WPfazhO20fjfCrH9Gbym ahqM++luJne9p+0Nn4d9YhmPEPgv51O+NSv8x77/2MfV0Mn6B8vtKn+w7UeysLGcHUNH QYD+M093RCYbnFpn6ki3RjQffmCzHpIy+R1RQbxisJTzzBTeRwnqdFS6LOtrrNMzWAZc 7Nh/TJEAmG+a7NBXwzN57xhq4iKgtfyVbSSo8jyZEy6bhlZXi6+GTaBDw4eUAyNrPltp phIA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-ext4-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-ext4-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id y25si373173edo.175.2020.07.14.19.19.08; Tue, 14 Jul 2020 19:19:41 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-ext4-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-ext4-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-ext4-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727863AbgGOBrk (ORCPT + 99 others); Tue, 14 Jul 2020 21:47:40 -0400 Received: from mail107.syd.optusnet.com.au ([211.29.132.53]:49166 "EHLO mail107.syd.optusnet.com.au" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726356AbgGOBrk (ORCPT ); Tue, 14 Jul 2020 21:47:40 -0400 Received: from dread.disaster.area (pa49-180-53-24.pa.nsw.optusnet.com.au [49.180.53.24]) by mail107.syd.optusnet.com.au (Postfix) with ESMTPS id CDEB3D5A5FF; Wed, 15 Jul 2020 11:47:35 +1000 (AEST) Received: from dave by dread.disaster.area with local (Exim 4.92.3) (envelope-from ) id 1jvWWE-0001ob-2Y; Wed, 15 Jul 2020 11:47:34 +1000 Date: Wed, 15 Jul 2020 11:47:34 +1000 From: Dave Chinner To: Christoph Hellwig Cc: Goldwyn Rodrigues , Damien Le Moal , Naohiro Aota , Johannes Thumshirn , Matthew Wilcox , linux-btrfs@vger.kernel.org, linux-fsdevel@vger.kernel.org, cluster-devel@redhat.com, linux-ext4@vger.kernel.org, linux-xfs@vger.kernel.org Subject: Re: RFC: iomap write invalidation Message-ID: <20200715014734.GE2005@dread.disaster.area> References: <20200713074633.875946-1-hch@lst.de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20200713074633.875946-1-hch@lst.de> User-Agent: Mutt/1.10.1 (2018-07-13) X-Optus-CM-Score: 0 X-Optus-CM-Analysis: v=2.3 cv=X6os11be c=1 sm=1 tr=0 a=moVtWZxmCkf3aAMJKIb/8g==:117 a=moVtWZxmCkf3aAMJKIb/8g==:17 a=kj9zAlcOel0A:10 a=_RQrkK6FrEwA:10 a=20KFwNOVAAAA:8 a=7-415B0cAAAA:8 a=GT6RCiLZAcxHUuuf7VQA:9 a=CjuIK1q_8ugA:10 a=biEYGPWJfzWAr4FL6Ov7:22 Sender: linux-ext4-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-ext4@vger.kernel.org On Mon, Jul 13, 2020 at 09:46:31AM +0200, Christoph Hellwig wrote: > Hi all, > > this series has two parts: the first one picks up Dave's patch to avoid > invalidation entierly for reads, picked up deep down from the btrfs iomap > thread. The second one falls back to buffered writes if invalidation fails > instead of leaving a stale cache around. Let me know what you think about > this approch. Either we maintain application level concurrency for direct IOs and ignore the stale data in the page cache, or we kill application IO concurrency and keep the page cache coherent. It's a lose-lose choice and I'm on the fence as to which is the lesser of two evils. The main factor is whether the buffered IO fallback can be diagnosed. There's a new tracepoint for that case, so at least we will be able to tell if the fallback co-incides with application performance cratering. Hopefully this will only be a rare event. So, to hoist myself on my own petard: correctness first, performance second. Acked-by: Dave Chinner Cheers, Dave. -- Dave Chinner david@fromorbit.com