From: "Matthew Wilcox (Oracle)" <willy@infradead.org> To: linux-mm@kvack.org Cc: "Matthew Wilcox (Oracle)" <willy@infradead.org>, linux-fsdevel@vger.kernel.org, linux-nvdimm@lists.01.org, Vishal Verma <vishal.l.verma@intel.com> Subject: [PATCH v2 3/4] dax: Account DAX entries as nrpages Date: Mon, 26 Oct 2020 15:18:48 +0000 Message-ID: <20201026151849.24232-4-willy@infradead.org> (raw) In-Reply-To: <20201026151849.24232-1-willy@infradead.org> Simplify mapping_needs_writeback() by accounting DAX entries as pages instead of exceptional entries. Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org> Tested-by: Vishal Verma <vishal.l.verma@intel.com> --- fs/dax.c | 6 +++--- mm/filemap.c | 3 --- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/fs/dax.c b/fs/dax.c index 53ed0ab8c958..a20f2342a9e4 100644 --- a/fs/dax.c +++ b/fs/dax.c @@ -525,7 +525,7 @@ static void *grab_mapping_entry(struct xa_state *xas, dax_disassociate_entry(entry, mapping, false); xas_store(xas, NULL); /* undo the PMD join */ dax_wake_entry(xas, entry, true); - mapping->nrexceptional--; + mapping->nrpages -= PG_PMD_NR; entry = NULL; xas_set(xas, index); } @@ -541,7 +541,7 @@ static void *grab_mapping_entry(struct xa_state *xas, dax_lock_entry(xas, entry); if (xas_error(xas)) goto out_unlock; - mapping->nrexceptional++; + mapping->nrpages += 1UL << order; } out_unlock: @@ -661,7 +661,7 @@ static int __dax_invalidate_entry(struct address_space *mapping, goto out; dax_disassociate_entry(entry, mapping, trunc); xas_store(&xas, NULL); - mapping->nrexceptional--; + mapping->nrpages -= 1UL << dax_entry_order(entry); ret = 1; out: put_unlocked_entry(&xas, entry); diff --git a/mm/filemap.c b/mm/filemap.c index 2e68116be4b0..2214a2c48dd1 100644 --- a/mm/filemap.c +++ b/mm/filemap.c @@ -616,9 +616,6 @@ EXPORT_SYMBOL(filemap_fdatawait_keep_errors); /* Returns true if writeback might be needed or already in progress. */ static bool mapping_needs_writeback(struct address_space *mapping) { - if (dax_mapping(mapping)) - return mapping->nrexceptional; - return mapping->nrpages; } -- 2.28.0
next prev parent reply index Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-10-26 15:18 [PATCH v2 0/4] Remove nrexceptional tracking Matthew Wilcox (Oracle) 2020-10-26 15:18 ` [PATCH v2 1/4] mm: Introduce and use mapping_empty Matthew Wilcox (Oracle) 2021-01-21 20:42 ` Johannes Weiner 2021-01-21 21:18 ` Matthew Wilcox 2020-10-26 15:18 ` [PATCH v2 2/4] mm: Stop accounting shadow entries Matthew Wilcox (Oracle) 2021-01-21 20:44 ` Johannes Weiner 2020-10-26 15:18 ` Matthew Wilcox (Oracle) [this message] 2021-01-21 20:46 ` [PATCH v2 3/4] dax: Account DAX entries as nrpages Johannes Weiner 2020-10-26 15:18 ` [PATCH v2 4/4] mm: Remove nrexceptional from inode Matthew Wilcox (Oracle) 2021-01-21 20:47 ` Johannes Weiner 2021-01-21 18:43 ` [PATCH v2 0/4] Remove nrexceptional tracking Matthew Wilcox 2021-01-22 19:38 ` William Kucharski
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20201026151849.24232-4-willy@infradead.org \ --to=willy@infradead.org \ --cc=linux-fsdevel@vger.kernel.org \ --cc=linux-mm@kvack.org \ --cc=linux-nvdimm@lists.01.org \ --cc=vishal.l.verma@intel.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
Linux-Fsdevel Archive on lore.kernel.org Archives are clonable: git clone --mirror https://lore.kernel.org/linux-fsdevel/0 linux-fsdevel/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 linux-fsdevel linux-fsdevel/ https://lore.kernel.org/linux-fsdevel \ linux-fsdevel@vger.kernel.org public-inbox-index linux-fsdevel Example config snippet for mirrors Newsgroup available over NNTP: nntp://nntp.lore.kernel.org/org.kernel.vger.linux-fsdevel AGPL code for this site: git clone https://public-inbox.org/public-inbox.git