|
Hannes Reinecke |
619fa9 |
From 7901fd602af54133d0d39cb7ff09537e9defbace Mon Sep 17 00:00:00 2001
|
|
Hannes Reinecke |
619fa9 |
From: Ross Zwisler <ross.zwisler@linux.intel.com>
|
|
Hannes Reinecke |
619fa9 |
Date: Wed, 6 Sep 2017 16:18:58 -0700
|
|
Hannes Reinecke |
619fa9 |
Subject: [PATCH] dax: use PG_PMD_COLOUR instead of open coding
|
|
Hannes Reinecke |
619fa9 |
Git-commit: 917f34526c4123ccd93e4373719c645c85020a5a
|
|
Hannes Reinecke |
619fa9 |
Patch-Mainline: v4.14
|
|
Hannes Reinecke |
619fa9 |
References: FATE#323721
|
|
Hannes Reinecke |
619fa9 |
|
|
Hannes Reinecke |
619fa9 |
Use ~PG_PMD_COLOUR in dax_entry_waitqueue() instead of open coding an
|
|
Hannes Reinecke |
619fa9 |
equivalent page offset mask.
|
|
Hannes Reinecke |
619fa9 |
|
|
Hannes Reinecke |
619fa9 |
Link: http://lkml.kernel.org/r/20170822222436.18926-2-ross.zwisler@linux.intel.com
|
|
Hannes Reinecke |
619fa9 |
Signed-off-by: Ross Zwisler <ross.zwisler@linux.intel.com>
|
|
Hannes Reinecke |
619fa9 |
Reviewed-by: Jan Kara <jack@suse.cz>
|
|
Hannes Reinecke |
619fa9 |
Cc: "Slusarz, Marcin" <marcin.slusarz@intel.com>
|
|
Hannes Reinecke |
619fa9 |
Cc: Alexander Viro <viro@zeniv.linux.org.uk>
|
|
Hannes Reinecke |
619fa9 |
Cc: Christoph Hellwig <hch@lst.de>
|
|
Hannes Reinecke |
619fa9 |
Cc: Dan Williams <dan.j.williams@intel.com>
|
|
Hannes Reinecke |
619fa9 |
Cc: Dave Chinner <david@fromorbit.com>
|
|
Hannes Reinecke |
619fa9 |
Cc: Matthew Wilcox <mawilcox@microsoft.com>
|
|
Hannes Reinecke |
619fa9 |
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
|
|
Hannes Reinecke |
619fa9 |
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
|
|
Hannes Reinecke |
619fa9 |
Acked-by: Hannes Reinecke <hare@suse.com>
|
|
Hannes Reinecke |
619fa9 |
---
|
|
Hannes Reinecke |
619fa9 |
fs/dax.c | 11 ++++-------
|
|
Hannes Reinecke |
619fa9 |
1 file changed, 4 insertions(+), 7 deletions(-)
|
|
Hannes Reinecke |
619fa9 |
|
|
Hannes Reinecke |
619fa9 |
diff --git a/fs/dax.c b/fs/dax.c
|
|
Hannes Reinecke |
619fa9 |
index 742c13e..ce9e52e 100644
|
|
Hannes Reinecke |
619fa9 |
--- a/fs/dax.c
|
|
Hannes Reinecke |
619fa9 |
+++ b/fs/dax.c
|
|
Hannes Reinecke |
619fa9 |
@@ -43,6 +43,9 @@
|
|
Hannes Reinecke |
619fa9 |
#define DAX_WAIT_TABLE_BITS 12
|
|
Hannes Reinecke |
619fa9 |
#define DAX_WAIT_TABLE_ENTRIES (1 << DAX_WAIT_TABLE_BITS)
|
|
Hannes Reinecke |
619fa9 |
|
|
Hannes Reinecke |
619fa9 |
+/* The 'colour' (ie low bits) within a PMD of a page offset. */
|
|
Hannes Reinecke |
619fa9 |
+#define PG_PMD_COLOUR ((PMD_SIZE >> PAGE_SHIFT) - 1)
|
|
Hannes Reinecke |
619fa9 |
+
|
|
Hannes Reinecke |
619fa9 |
static wait_queue_head_t wait_table[DAX_WAIT_TABLE_ENTRIES];
|
|
Hannes Reinecke |
619fa9 |
|
|
Hannes Reinecke |
619fa9 |
static int __init init_dax_wait_table(void)
|
|
Hannes Reinecke |
619fa9 |
@@ -99,7 +102,7 @@ static wait_queue_head_t *dax_entry_waitqueue(struct address_space *mapping,
|
|
Hannes Reinecke |
619fa9 |
* the range covered by the PMD map to the same bit lock.
|
|
Hannes Reinecke |
619fa9 |
*/
|
|
Hannes Reinecke |
619fa9 |
if (dax_is_pmd_entry(entry))
|
|
Hannes Reinecke |
619fa9 |
- index &= ~((1UL << (PMD_SHIFT - PAGE_SHIFT)) - 1);
|
|
Hannes Reinecke |
619fa9 |
+ index &= ~PG_PMD_COLOUR;
|
|
Hannes Reinecke |
619fa9 |
|
|
Hannes Reinecke |
619fa9 |
key->mapping = mapping;
|
|
Hannes Reinecke |
619fa9 |
key->entry_start = index;
|
|
Hannes Reinecke |
619fa9 |
@@ -1175,12 +1178,6 @@ static int dax_iomap_pte_fault(struct vm_fault *vmf,
|
|
Hannes Reinecke |
619fa9 |
}
|
|
Hannes Reinecke |
619fa9 |
|
|
Hannes Reinecke |
619fa9 |
#ifdef CONFIG_FS_DAX_PMD
|
|
Hannes Reinecke |
619fa9 |
-/*
|
|
Hannes Reinecke |
619fa9 |
- * The 'colour' (ie low bits) within a PMD of a page offset. This comes up
|
|
Hannes Reinecke |
619fa9 |
- * more often than one might expect in the below functions.
|
|
Hannes Reinecke |
619fa9 |
- */
|
|
Hannes Reinecke |
619fa9 |
-#define PG_PMD_COLOUR ((PMD_SIZE >> PAGE_SHIFT) - 1)
|
|
Hannes Reinecke |
619fa9 |
-
|
|
Hannes Reinecke |
619fa9 |
static int dax_pmd_insert_mapping(struct vm_fault *vmf, struct iomap *iomap,
|
|
Hannes Reinecke |
619fa9 |
loff_t pos, void *entry)
|
|
Hannes Reinecke |
619fa9 |
{
|
|
Hannes Reinecke |
619fa9 |
--
|
|
Hannes Reinecke |
619fa9 |
1.8.5.6
|
|
Hannes Reinecke |
619fa9 |
|