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 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 685C5EEB56E for ; Fri, 8 Sep 2023 21:08:44 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id BA8566B00F9; Fri, 8 Sep 2023 17:08:43 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id B581F6B00FA; Fri, 8 Sep 2023 17:08:43 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id A21836B00FB; Fri, 8 Sep 2023 17:08:43 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 8F96D6B00F9 for ; Fri, 8 Sep 2023 17:08:43 -0400 (EDT) Received: from smtpin05.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 5E0331404B5 for ; Fri, 8 Sep 2023 21:08:43 +0000 (UTC) X-FDA: 81214669326.05.C2BA383 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf23.hostedemail.com (Postfix) with ESMTP id 24BC9140020 for ; Fri, 8 Sep 2023 21:08:39 +0000 (UTC) Authentication-Results: imf23.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=kUBiQv47; spf=none (imf23.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1694207321; a=rsa-sha256; cv=none; b=B+GO7wer+MJHe4ctoi+uF6zpxsi/y6OUqf+gK039Tt9HF7YYIyprOiz84ng7oF8yV2tV4+ miVBivhzgTY92izZezInzS81kZEYQ9NXKLq+KbMTTnjkRmHR0AkfKsPKNVrXU3MxXTFC/B kOGuaor7qMd2qbiRpfALXSadpENob/U= ARC-Authentication-Results: i=1; imf23.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=kUBiQv47; spf=none (imf23.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1694207321; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=/4z8i7AX+PLEbxPYrZo2ykPvlfyQVolxcCS6XSqOafA=; b=EGs2mqN03Wh4fw4Tl+wMJbxT+eIUc+o2nLPc0DYjnq7h3JmlCQr1aWs4Y8DJOG9DfK9hzI fvI+o1bLuqU6Za1Jg9GZqgU3wFRihuqW3yrAAIZaCZGNKHPDsjcbYcdGoGi8EcUmhIOqSF 64hdeGRkdcI1MlF+TT//VrLAqOnIRnA= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Type:MIME-Version: References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=/4z8i7AX+PLEbxPYrZo2ykPvlfyQVolxcCS6XSqOafA=; b=kUBiQv47wzBkLCeSQ8vPkDO5VE RKZG4q/MFs6Y5TAecQf4xeSZEvDXm784Mf/1sQ58TpUj67mpN1Pl+SqpjHeiuN2Q1X8V4bDi+lLvA 2atv2vsrrbIPD+anZ3fribWg139FHBcEp1ya4DjW8ZQ0QyEf0zhxamydT0/x5the7nnIgD+mQoiUh u6VzT+yfY8FQmd7EXqMpholXhI4r/VWWZhU/ZpoIxEExcPb9WWb5fmkvV6z6CLBCpq5FDiX27Riev 2UnJ0mkrS5C/EjeJPEKuxky4fyoW/nWhup9OFQ4B3lZSuBjaKQmZNISkVdGOpGnTZxr/FUXe1eFhb HWZNQFrQ==; Received: from willy by casper.infradead.org with local (Exim 4.94.2 #2 (Red Hat Linux)) id 1qeii4-002MuE-Ql; Fri, 08 Sep 2023 21:08:12 +0000 Date: Fri, 8 Sep 2023 22:08:12 +0100 From: Matthew Wilcox To: Jane Chu Cc: akpm@linux-foundation.org, nvdimm@lists.linux.dev, dan.j.williams@intel.com, naoya.horiguchi@nec.com, linux-mm@kvack.org Subject: Re: [PATCH v2] mm: Convert DAX lock/unlock page to lock/unlock folio Message-ID: References: <20230908195215.176586-1-jane.chu@oracle.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230908195215.176586-1-jane.chu@oracle.com> X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: 24BC9140020 X-Stat-Signature: ud8uj43x4s8ogsatuh3bdfuep7wapnot X-Rspam-User: X-HE-Tag: 1694207319-379657 X-HE-Meta: U2FsdGVkX18E+ae1paLtgYYJpQFg6/UoKIPriShqYJWtpy8Z+JkTr0KVJ3Z1i8hw17CKA89FvEJ7Ws9lFm56+TAuD9vdXOqfVo1yn4ytF1i3mPZ+e96RRbyflCj1p0SpD6C4k/HNvi9tmfF7E2o9VETuE+08DXF/9iUT/bmtq3QXK/65ZqPHSgBxxglPxsi/x/LROK6/jlyRJz7xgc95L811TQwGxnA9o9/BfY+ZpFxtTaFzdIb1mMj/EEkFfDfwNxuCHoyNcag8WKjNBWKSrnazC2tI6odnz9rM8Jz8xEKzjGOihu8u4YeESlznMh46Ag3CPES1LKzTWXIzYVohTXMrZcWRAuunjColW0GC0tEXLAvryg/llGj+RPK1P4R0etXpCYzziSEesMyI+mPsbM45TFaqXwBo83ADA3t8LVtHepxtjXQCrol35eeqDqI/E5OTCUIo0iVE4unBo9DRi8XAKcBlBmzti8SbEL71hWM5Ju0q0jy+cBmycgjCOg+D3dwteVPvjbGPAPgJgPngR33DF3eXM/S+gmsO1GJolcX5sRVCIt0wV86ipiKwiWzuFzsqyAyjlkdwkwYhoB3zM4xdK/B8p6B+LR9lsA+vhP3L0BENX89Li3b0ZkzOXKVKQAEjGxE0No/tssOP2qzwQFC5QLEUYHb1s9+XjUyLHvyEWPSNHfDg3xDSbdkXZnEnWRAKW4b4UZeJVExo8lYOwSsl5xAsS7MQtaaH+nlEg0T0Llg7o9AS3pCdcsiexkKMNfmdxaAlL7HhFwglmFvpNX2lKNqq1IK3iQ8g6y8/aWHonrgyEUxPMWPuG1cpRM1/oCgiPAB1PdG8GUo+dLAWfdSaZtvGoNdYSn3GzUPX6+GTpg9RraB1pLjsA8YFW+fM11LweUPYrmVdS0ujyn/ypFiDlxSkL2oW6YEKjJe/gBx5IcMxJ83IZMdTKf6C9cvuII/rUbnJJHQowi4I7wW wPdmpfV4 hMEtwVKxsQ/cWPqEaymXh1uZY4uUFWDekUkgAW4jgeatp7gQhbdRzKlAK3o0SnLR+AKmkmprjoaFkAeenw/MJY4+TbNA3mPu4w8tIWZeMSl3RXl9ySXSz9EwuRbnHwxSwMJNJ8HvZq6y1M+nGBmRSjruSDXx2D0zC2A7pi9P8vrGR7EQGVXIK7LHGukaWOCKM2PRGXSNEMyO/+ZXzaNvZ4Gbbtg== 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: On Fri, Sep 08, 2023 at 01:52:15PM -0600, Jane Chu wrote: You need to put a From: line at the top of this so that if someone applies this it shows me as author rather than you. > The one caller of DAX lock/unlock page already calls compound_head(), > so use page_folio() instead, then use a folio throughout the DAX code > to remove uses of page->mapping and page->index. > > Signed-off-by: Matthew Wilcox (Oracle) > Signed-off-by: Jane Chu > --- You should say what changed from v1 here. Also Naoya Horiguchi offered an Acked-by tag that would be appropriate to include. > fs/dax.c | 24 ++++++++++++------------ > include/linux/dax.h | 10 +++++----- > mm/memory-failure.c | 29 ++++++++++++++++------------- > 3 files changed, 33 insertions(+), 30 deletions(-) > +++ b/mm/memory-failure.c > @@ -1710,20 +1710,23 @@ static void unmap_and_kill(struct list_head *to_kill, unsigned long pfn, > kill_procs(to_kill, flags & MF_MUST_KILL, false, pfn, flags); > } > > +/* > + * Only dev_pagemap pages get here, such as fsdax when the filesystem > + * either do not claim or fails to claim a hwpoison event, or devdax. > + * The fsdax pages are initialized per base page, and the devdax pages > + * could be initialized either as base pages, or as compound pages with > + * vmemmap optimization enabled. Devdax is simplistic in its dealing with > + * hwpoison, such that, if a subpage of a compound page is poisoned, > + * simply mark the compound head page is by far sufficient. > + */ > static int mf_generic_kill_procs(unsigned long long pfn, int flags, > struct dev_pagemap *pgmap) > { > - struct page *page = pfn_to_page(pfn); > + struct folio *folio = page_folio(pfn_to_page(pfn)); We have a pfn_folio() (which does the same thing, but may not always)