From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-0.6 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 99C5DC433DF for ; Wed, 17 Jun 2020 00:57:28 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 557382080D for ; Wed, 17 Jun 2020 00:57:28 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Tgh6zIu9" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 557382080D Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id CAEDA6B0006; Tue, 16 Jun 2020 20:57:27 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id C5FF76B0008; Tue, 16 Jun 2020 20:57:27 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B277E6B000A; Tue, 16 Jun 2020 20:57:27 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0074.hostedemail.com [216.40.44.74]) by kanga.kvack.org (Postfix) with ESMTP id 9753A6B0006 for ; Tue, 16 Jun 2020 20:57:27 -0400 (EDT) Received: from smtpin26.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay02.hostedemail.com (Postfix) with ESMTP id 389113561 for ; Wed, 17 Jun 2020 00:57:27 +0000 (UTC) X-FDA: 76936890534.26.frogs58_2f12d6f26e03 Received: from filter.hostedemail.com (10.5.16.251.rfc1918.com [10.5.16.251]) by smtpin26.hostedemail.com (Postfix) with ESMTP id EF92E1804B640 for ; Wed, 17 Jun 2020 00:57:26 +0000 (UTC) X-HE-Tag: frogs58_2f12d6f26e03 X-Filterd-Recvd-Size: 5085 Received: from mail-io1-f67.google.com (mail-io1-f67.google.com [209.85.166.67]) by imf49.hostedemail.com (Postfix) with ESMTP for ; Wed, 17 Jun 2020 00:57:26 +0000 (UTC) Received: by mail-io1-f67.google.com with SMTP id q8so760422iow.7 for ; Tue, 16 Jun 2020 17:57:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=pEQnZOnPBJbDchwbmEUUZLW0wYE5G6XsMaI0bdt7ET4=; b=Tgh6zIu9SlKqTUKI4lExwCDwAAHFKxlTCElshDvOm1mn12iYD4/DlZalieO/RImp9r LOfdrsTqINnmMIAwC9mdceqa/wMyw0Auk9KnlvF4RPcnGvBFJBKHV1DcaOHVsC8ZJlyj EWU6xc0nQ7onqRbgGSdDKr9j6yTVOkffRg7YhoJMYTrD0VbKc2wSWqiWF1vx5t2+TlDQ 0H1Q/EcYDHCiJ7V1yZRhtkqBnN46jbkGbvZxmeW2dZ9q6NUSkrxTmZ4rnGe1GGysIgBd ew/2hyGURcasW9W+HnGwp+PirW2QERWh+ZXINj7JdG6J0FXvqGEWoCoh1SMLGG1V6Vsg vn8A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=pEQnZOnPBJbDchwbmEUUZLW0wYE5G6XsMaI0bdt7ET4=; b=Eg+n9eZwqR2E/sFnJ3dk5mSxo/VqzJeL01x6k2t33zUcY1Nymrb9gcmQRmfmG5wcBH +0CrywJUZWHcovt3QJ1bOYPbmWY+FHvIIU1Yk0GaCpZN8H+ugORHvwJ5snpsX2WbiYGZ WMg1rQ8wkXZN2NyYxgjM/7h1ZI443nziDFHux5zld0xCwzbXi3zL/61HW6Slu4kIZfTA H4GpYeh3OgoaeUW+WiU/XI6ZCtgY8jz/VaIVXMUTBX2IpCiSUjf/K4C5fX9FwwpHqwGD KYWoVN3ladTCvuaz0skhMgAzAdyg0jrpeUPHqhr967B2mXlXxaqac+LKYSk/0qJn4ZV5 V74g== X-Gm-Message-State: AOAM533y8emhAV/c2TCWQd3znm0YLh3Qj32nQbsQ1aQcFtJ3B4jyDmET DVaDVwKJl9Da36BFVPr5Il4nzwC7OGjRVuxkUQU= X-Google-Smtp-Source: ABdhPJyA0Elba10YCloQoueU20W+3sFrfsTj5mkkigBe/qlBKVyzKzAbesXkHefLeqBLcqq7m6UegL8dAN6/zvs9CGg= X-Received: by 2002:a5d:9413:: with SMTP id v19mr5708100ion.105.1592355445894; Tue, 16 Jun 2020 17:57:25 -0700 (PDT) MIME-Version: 1.0 References: <20200414150233.24495-1-willy@infradead.org> <20200414150233.24495-17-willy@infradead.org> <20200617003216.GC8681@bombadil.infradead.org> In-Reply-To: <20200617003216.GC8681@bombadil.infradead.org> From: =?UTF-8?Q?Andreas_Gr=C3=BCnbacher?= Date: Wed, 17 Jun 2020 02:57:14 +0200 Message-ID: Subject: Re: [Cluster-devel] [PATCH v11 16/25] fs: Convert mpage_readpages to mpage_readahead To: Matthew Wilcox Cc: Andreas Gruenbacher , Andrew Morton , linux-xfs , Junxiao Bi , William Kucharski , Joseph Qi , John Hubbard , LKML , linux-f2fs-devel@lists.sourceforge.net, cluster-devel , Linux-MM , ocfs2-devel@oss.oracle.com, linux-fsdevel , linux-ext4 , linux-erofs@lists.ozlabs.org, Christoph Hellwig , linux-btrfs@vger.kernel.org, Steven Whitehouse , Bob Peterson Content-Type: text/plain; charset="UTF-8" X-Rspamd-Queue-Id: EF92E1804B640 X-Spamd-Result: default: False [0.00 / 100.00] X-Rspamd-Server: rspam03 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: Am Mi., 17. Juni 2020 um 02:33 Uhr schrieb Matthew Wilcox : > > On Wed, Jun 17, 2020 at 12:36:13AM +0200, Andreas Gruenbacher wrote: > > Am Mi., 15. Apr. 2020 um 23:39 Uhr schrieb Matthew Wilcox : > > > From: "Matthew Wilcox (Oracle)" > > > > > > Implement the new readahead aop and convert all callers (block_dev, > > > exfat, ext2, fat, gfs2, hpfs, isofs, jfs, nilfs2, ocfs2, omfs, qnx6, > > > reiserfs & udf). The callers are all trivial except for GFS2 & OCFS2. > > > > This patch leads to an ABBA deadlock in xfstest generic/095 on gfs2. > > > > Our lock hierarchy is such that the inode cluster lock ("inode glock") > > for an inode needs to be taken before any page locks in that inode's > > address space. > > How does that work for ... > > writepage: yes, unlocks (see below) > readpage: yes, unlocks > invalidatepage: yes > releasepage: yes > freepage: yes > isolate_page: yes > migratepage: yes (both) > putback_page: yes > launder_page: yes > is_partially_uptodate: yes > error_remove_page: yes > > Is there a reason that you don't take the glock in the higher level > ops which are called before readhead gets called? I'm looking at XFS, > and it takes the xfs_ilock SHARED in xfs_file_buffered_aio_read() > (called from xfs_file_read_iter). Right, the approach from the following thread might fix this: https://lore.kernel.org/linux-fsdevel/20191122235324.17245-1-agruenba@redhat.com/T/#t Andreas