Received: by 2002:a25:ab43:0:0:0:0:0 with SMTP id u61csp936063ybi; Wed, 19 Jun 2019 10:22:46 -0700 (PDT) X-Google-Smtp-Source: APXvYqxZ1WTcdg1ylsTcBZCmWRN+6pjEmEv0zGkhtuD65Yv4ECi5fkjcsAPxMypYCnceklMF/oVP X-Received: by 2002:a63:205b:: with SMTP id r27mr8873792pgm.330.1560964966283; Wed, 19 Jun 2019 10:22:46 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1560964966; cv=none; d=google.com; s=arc-20160816; b=OoZwYQNOl5ApUjwtTyKeKsZhAQ1kxUOBPQhtHnVmKqPTUyArSu+PXmTfHS/huPBIYY w/CWwcrTKqLWpNchX0g7UBYq5xVBv7xbHe+1MGWBD2Pe/Jon8LsD9woC5HprN8z3QFYE 64PWnfryPH0Y57fcEx7PmX2tizhCzaX8b5xuiH5/wEJXImFEeKgH/VWOZiUpgDS0hFWB HNIRfCLSKWTwn9EC5elKlpkWh/I5BFYZipt2RgiONXozgLkHiQ7aJR6+pZ6mMvDjP8zG 6B2UOj5PjWIJDDojEDV82plZ6anUG9XWlqVgOhr/lk+YDWxSOKa+cL2nz3xxbEsw2cuH tBQQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=y4I5Ty62o91Pugxcg1FTgTnvgf8oL/T0SugxfMdF360=; b=NCHyByMp6m/4X/80ZEwxH8Iq2/RfoqvDAGTwKeyBXlJTLJBGPsQNaqmEqCb/NLdM8Q 4Zzr/sCt1fB4pkCKubgayg3EiX2HnOaWgpeciX9iY5pBVDmdq1V2cgVq2HGx94Ior50/ KnsUCKrBaWv3CGh4Grw1F4zFTPfOEmse04jfH31ORiVCQPl9mLI4+T/TnpToKKoo/U0z rwQkowRrla1EZQMa8nWpjOPT2fKihsrjq14uaHd6SnJeMfWCkcI3Mds4UBj1TRUYrR0h 9P49gcnmfPa2eXuGaXh93j2h0Glx+Y6eFmtnxKTj4YkpIBBECemLtp5RfoQcJxcZmEC0 J55g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=gb4iGaYn; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id d5si17313143pfc.131.2019.06.19.10.22.25; Wed, 19 Jun 2019 10:22:46 -0700 (PDT) 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; dkim=pass header.i=@chromium.org header.s=google header.b=gb4iGaYn; 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; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729907AbfFSRWV (ORCPT + 99 others); Wed, 19 Jun 2019 13:22:21 -0400 Received: from mail-io1-f68.google.com ([209.85.166.68]:39953 "EHLO mail-io1-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729659AbfFSRWV (ORCPT ); Wed, 19 Jun 2019 13:22:21 -0400 Received: by mail-io1-f68.google.com with SMTP id n5so293867ioc.7 for ; Wed, 19 Jun 2019 10:22:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=y4I5Ty62o91Pugxcg1FTgTnvgf8oL/T0SugxfMdF360=; b=gb4iGaYnPJYNqGfAxkP3X1NyZrCyL5DKEUxf/+boDKefd2UjG+qdworr0YK1ObtumN 6uLmt1ytGOjQmAyYXv5eWn2+e/wwvBH4V0YZ02cusIrDbo9JldyQ2tukswmk+W03TQCZ 3fJ2x8pKx2vhpksYet+kdD7iF28u6Vzn2HBLk= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=y4I5Ty62o91Pugxcg1FTgTnvgf8oL/T0SugxfMdF360=; b=Z3hvsENXUx8jyDDuoaq2PmvryOqY0YnHEvQhCYxv2oSrllztEhXMrMGlhVuuUBR6Um MBZHIndS9qfhMQq/3GGLvKX3zDRkVBgdWFIcqAI9yF9eFYpcaNZ2nZrW1EjdXT3irNvm Ne3GvjE7mbjlToFCFqyc5QglyD2jajTf451ImELBL3WZaxzK3Ib5Lco8G1uC3VDt1Xd6 YdojPwpi7Q11cdNFSP5aQl6EyTJ+Bqt0n6IvSImtM+Yh1QC0TFS/5DqECnzOIcAxUDtG zc18QbHy5soURHEiOXIwJ6f7oUwVIMYgqblVOy7y6zqPXfQsioDv0w2WwxD82VZmHPde kmEw== X-Gm-Message-State: APjAAAWCBwwUsk4BS7eb8mV5AwF798M2CzdhNBCtaG+dk1KgUw0QjUy1 l7MjMztiktLBnWHQypzWqgSCmg== X-Received: by 2002:a02:ce37:: with SMTP id v23mr11907871jar.2.1560964940961; Wed, 19 Jun 2019 10:22:20 -0700 (PDT) Received: from localhost ([2620:15c:183:200:855f:8919:84a7:4794]) by smtp.gmail.com with ESMTPSA id z26sm16377581ioi.85.2019.06.19.10.22.19 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 19 Jun 2019 10:22:20 -0700 (PDT) From: Ross Zwisler X-Google-Original-From: Ross Zwisler To: linux-kernel@vger.kernel.org Cc: Ross Zwisler , "Theodore Ts'o" , Alexander Viro , Andreas Dilger , Jan Kara , linux-ext4@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-mm@kvack.org, Fletcher Woodruff , Justin TerAvest Subject: [PATCH 0/3] Add dirty range scoping to jbd2 Date: Wed, 19 Jun 2019 11:21:53 -0600 Message-Id: <20190619172156.105508-1-zwisler@google.com> X-Mailer: git-send-email 2.22.0.410.gd8fdbe21b5-goog MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-ext4-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-ext4@vger.kernel.org This patch series fixes the issue I described here: https://www.spinics.net/lists/linux-block/msg38274.html Essentially the issue is that journal_finish_inode_data_buffers() operates on the entire address space of each of the inodes associated with a given journal entry. This means that if we have an inode where we are constantly appending dirty pages we can end up waiting for an indefinite amount of time in journal_finish_inode_data_buffers(). This series improves this situation in ext4 by scoping each of the inode dirty ranges associated with a given transaction. Other users of jbd2 which don't (yet?) take advantage of this scoping (ocfs2) will continue to have the old behavior. Ross Zwisler (3): mm: add filemap_fdatawait_range_keep_errors() jbd2: introduce jbd2_inode dirty range scoping ext4: use jbd2_inode dirty range scoping fs/ext4/ext4_jbd2.h | 12 +++++------ fs/ext4/inode.c | 13 +++++++++--- fs/ext4/move_extent.c | 3 ++- fs/jbd2/commit.c | 26 +++++++++++++++++------ fs/jbd2/journal.c | 2 ++ fs/jbd2/transaction.c | 49 ++++++++++++++++++++++++------------------- include/linux/fs.h | 2 ++ include/linux/jbd2.h | 22 +++++++++++++++++++ mm/filemap.c | 22 +++++++++++++++++++ 9 files changed, 114 insertions(+), 37 deletions(-) -- 2.22.0.410.gd8fdbe21b5-goog