Similar to follow_pte(), follow_pte_pmd() allows either a PTE leaf or a
huge page PMD leaf to be found and returned.
Signed-off-by: Ross Zwisler <ross.zwis...@linux.intel.com>
Suggested-by: Dave Hansen <dave.han...@linux.intel.com>
---
include/linux/mm.h | 2 ++
mm/memory.c
.html
Ross Zwisler (11):
pmem: add wb_cache_pmem() to the PMEM API
mm: add pmd_mkclean()
pmem: enable REQ_FUA/REQ_FLUSH handling
dax: support dirty DAX entries in radix tree
mm: add follow_pte_pmd()
mm: add pgoff_mkclean()
mm: add find_get_entries_tag()
dax: add support for fsync/sync
tree, and this adds a third. There
shouldn't be any collisions between these various exceptional entries
because only one type of exceptional entry should be able to be found in a
radix tree at a time depending on how it is being used.
Signed-off-by: Ross Zwisler <ross.zwis...@linux.intel.
)
that are marked with the PAGECACHE_TAG_TOWRITE tag.
Signed-off-by: Ross Zwisler <ross.zwis...@linux.intel.com>
---
include/linux/pagemap.h | 3 +++
mm/filemap.c| 61 +
2 files changed, 64 insertions(+)
diff --git a/include/linux/pagemap.h b/i
retrieved from get_block() so it needs to be ordered with
respect to truncate. This is accomplished by using the same locking that
was set up for DAX page faults.
Signed-off-by: Ross Zwisler <ross.zwis...@linux.intel.com>
---
fs/xfs/xfs_file.c | 18 +-
1 file changed, 13 inse
retrieved from get_block() so it needs to be ordered with
respect to truncate. This is accomplished by using the same locking that
was set up for DAX page faults.
Signed-off-by: Ross Zwisler <ross.zwis...@linux.intel.com>
---
fs/ext4/file.c | 4 +++-
fs/ext4/fsync.c | 12 ++--
2
retrieved from get_block() so it needs to be ordered with
respect to truncate. This is accomplished by using the same locking that
was set up for DAX page faults.
Signed-off-by: Ross Zwisler <ross.zwis...@linux.intel.com>
---
fs/ext2/file.c | 14 +-
1 file changed, 13 insertions
.
Signed-off-by: Ross Zwisler <ross.zwis...@linux.intel.com>
---
fs/dax.c| 140 +---
include/linux/dax.h | 1 +
mm/huge_memory.c| 14 +++---
3 files changed, 141 insertions(+), 14 deletions(-)
diff --git a/fs/dax.c b/fs
by: Yigal Korman <yi...@plexistor.com>
> >
> > Cc: Stable Tree <sta...@vger.kernel.org>
> > Cc: Boaz Harrosh <b...@plexistor.com>
> > Cc: Ross Zwisler <ross.zwis...@linux.intel.com>
> > Cc: Alexander Viro <v...@zeniv.linux.org.uk>
> > Cc:
On Fri, Nov 13, 2015 at 06:32:40PM -0800, Dan Williams wrote:
> On Fri, Nov 13, 2015 at 4:43 PM, Andreas Dilger <adil...@dilger.ca> wrote:
> > On Nov 13, 2015, at 5:20 PM, Dan Williams <dan.j.willi...@intel.com> wrote:
> >>
> >> On Fri, Nov 13, 2015 a
On Mon, Nov 16, 2015 at 09:28:59AM -0800, Dan Williams wrote:
> On Mon, Nov 16, 2015 at 6:05 AM, Jan Kara wrote:
> > On Mon 16-11-15 14:37:14, Jan Kara wrote:
> [..]
> > But a question: Won't it be better to do sfence + pcommit only in response
> > to REQ_FLUSH request and don't do
On Mon, Nov 16, 2015 at 08:58:11AM -0800, Dan Williams wrote:
> On Mon, Nov 16, 2015 at 6:41 AM, Jan Kara <j...@suse.cz> wrote:
> > On Fri 13-11-15 17:06:39, Ross Zwisler wrote:
> >> This patch series adds support for fsync/msync to DAX.
> >>
> >>
reas Dilger <adil...@dilger.ca>
> > > > wrote:
> > > > > On Nov 13, 2015, at 5:20 PM, Dan Williams <dan.j.willi...@intel.com>
> > > > > wrote:
> > > > >>
> > > > >> On Fri, Nov 13, 2015 at 4:06 PM, Ross
On Mon, Nov 16, 2015 at 12:34:55PM -0800, Dan Williams wrote:
> On Mon, Nov 16, 2015 at 11:48 AM, Ross Zwisler
> <ross.zwis...@linux.intel.com> wrote:
> > On Mon, Nov 16, 2015 at 09:28:59AM -0800, Dan Williams wrote:
> >> On Mon, Nov 16, 2015 at 6:05 AM, Ja
On Tue, Nov 17, 2015 at 09:58:07AM +1100, Dave Chinner wrote:
> On Fri, Nov 13, 2015 at 05:06:47PM -0700, Ross Zwisler wrote:
> > To properly handle fsync/msync in an efficient way DAX needs to track dirty
> > pages so it is able to flush them durably to media on demand.
> &
On Fri, Nov 13, 2015 at 05:02:48PM -0800, Dave Hansen wrote:
> On 11/13/2015 04:06 PM, Ross Zwisler wrote:
> > +static inline pmd_t pmd_mkclean(pmd_t pmd)
> > +{
> > + return pmd_clear_flags(pmd, _PAGE_DIRTY | _PAGE_SOFT_DIRTY);
> > +}
>
> pte_mkclean() does
On Tue, Nov 17, 2015 at 09:42:22AM +1100, Dave Chinner wrote:
> On Fri, Nov 13, 2015 at 05:06:46PM -0700, Ross Zwisler wrote:
> > Add find_get_entries_tag() to the family of functions that include
> > find_get_entries(), find_get_pages() and find_get_pages_tag(). This is
> >
On Tue, Nov 17, 2015 at 10:12:22AM +1100, Dave Chinner wrote:
> On Fri, Nov 13, 2015 at 05:06:50PM -0700, Ross Zwisler wrote:
> > To properly support the new DAX fsync/msync infrastructure filesystems
> > need to call dax_pfn_mkwrite() so that DAX can properly track when a user
&
itialization sequence to allow the 'q_usage_counter' from the
> request_queue to be used by the devm_memremap_pages() implementation (in
> subsequent patches).
>
> Cc: Ross Zwisler <ross.zwis...@linux.intel.com>
> Signed-off-by: Dan Williams <dan.j.willi...@intel.com>
&
On Sun, Nov 01, 2015 at 11:30:10PM -0500, Dan Williams wrote:
> This masking prevents access to the end of the device via dax_do_io(),
> and is unnecessary as arch_add_memory() would have rejected an unaligned
> allocation.
>
> Cc: <sta...@vger.kernel.org>
> Cc:
k_cleanup_queue() from proceeding, or fail the dax_map_atomic() if the
> request_queue is being torn down.
>
> Cc: Jan Kara <j...@suse.com>
> Cc: Jens Axboe <ax...@kernel.dk>
> Cc: Christoph Hellwig <h...@lst.de>
> Cc: Dave Chinner <da...@fromorbit.com>
>
On Mon, Nov 02, 2015 at 09:31:11PM -0800, Dan Williams wrote:
> On Mon, Nov 2, 2015 at 8:48 PM, Dave Chinner wrote:
> > On Mon, Nov 02, 2015 at 07:27:26PM -0800, Dan Williams wrote:
> >> On Mon, Nov 2, 2015 at 4:51 PM, Dave Chinner wrote:
> >> > On Sun,
On Wed, Nov 04, 2015 at 07:51:31AM +1100, Dave Chinner wrote:
> On Mon, Nov 02, 2015 at 11:20:49PM -0800, Dan Williams wrote:
> > On Mon, Nov 2, 2015 at 9:40 PM, Dave Chinner wrote:
> > > On Mon, Nov 02, 2015 at 08:56:24PM -0800, Dan Williams wrote:
> > >> No, we definitely
On Mon, Nov 02, 2015 at 08:56:24PM -0800, Dan Williams wrote:
> On Mon, Nov 2, 2015 at 5:16 PM, Dave Chinner wrote:
> > On Sun, Nov 01, 2015 at 11:30:58PM -0500, Dan Williams wrote:
<>
> > Yes, that's a basic feature of Ross's patches. Hence I think this
> > special case
On Fri, Oct 30, 2015 at 02:55:33PM +1100, Dave Chinner wrote:
> On Thu, Oct 29, 2015 at 02:12:04PM -0600, Ross Zwisler wrote:
> > This patch series adds support for fsync/msync to DAX.
> >
> > Patches 1 through 8 add various utilities that the DAX code will eventually
>
On Fri, Oct 30, 2015 at 11:34:07AM -0700, Dan Williams wrote:
> On Thu, Oct 29, 2015 at 1:12 PM, Ross Zwisler
> <ross.zwis...@linux.intel.com> wrote:
> > This patch series adds support for fsync/msync to DAX.
> >
> > Patches 1 through 8 add various utilities tha
On Wed, Oct 14, 2015 at 10:51:19AM +0200, Jan Kara wrote:
> On Tue 13-10-15 16:25:37, Ross Zwisler wrote:
> > Add locking to ensure that DAX faults are isolated from ext2 operations
> > that modify the data blocks allocation for an inode. This is intended to
> > be analog
On Wed, Oct 14, 2015 at 04:25:50PM +1100, Dave Chinner wrote:
> On Tue, Oct 13, 2015 at 04:25:36PM -0600, Ross Zwisler wrote:
> > Update dax_pfn_mkwrite() so that it validates i_size before returning.
> > This is necessary to ensure that the page fault has not raced with truncate
sed in v4.2.
Signed-off-by: Ross Zwisler <ross.zwis...@linux.intel.com>
---
fs/dax.c| 70 +
mm/memory.c | 2 ++
2 files changed, 31 insertions(+), 41 deletions(-)
diff --git a/fs/dax.c b/fs/dax.c
index bcfb14b..a86d3cc 1006
p_mapping_range() for DAX")
Changes from v4:
- Collapsed two revert commits into a single fix commit. No code changes were
made.
Ross Zwisler (1):
mm, dax: fix DAX deadlocks
fs/dax.c| 70 +
mm/memory.c | 2 ++
2 files
On Wed, Oct 07, 2015 at 09:19:28AM -0700, Dan Williams wrote:
> On Tue, Oct 6, 2015 at 3:28 PM, Ross Zwisler
> <ross.zwis...@linux.intel.com> wrote:
> > diff --git a/mm/memory.c b/mm/memory.c
> > index 9cb2747..5ec066f 100644
> > --- a/mm/memory.c
> > +++ b/
; Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=92501
> Testcase: gem_tiled_partial_pwrite_pread/read
> Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk>
> Cc: Ross Zwisler <ross.zwis...@linux.intel.com>
> Cc: H. Peter Anvin <h...@linux.intel.com>
> Cc: Imre Dea
On Sat, Oct 17, 2015 at 03:22:19PM -0400, Sasha Levin wrote:
> On 09/30/2015 05:30 PM, Sasha Levin wrote:
> > On 09/17/2015 10:24 PM, Sasha Levin wrote:
> >> On 08/19/2015 01:46 AM, Al Viro wrote:
> or mapping->a_ops->direct_IO() returned more
> > than 'count'.
> >>> Was there DAX
]" functions that operate
on struct address_space->i_mmap_rwsem. This clarification is especially
important because address_space->i_mmap_rwsem is taken down in the DAX
code as part of this fault path.
Signed-off-by: Ross Zwisler <ross.zwis...@linux.intel.com>
---
fs/xfs/xfs_file.
On Fri, Oct 09, 2015 at 09:24:50AM +1100, Dave Chinner wrote:
> On Thu, Oct 08, 2015 at 03:58:01PM -0600, Ross Zwisler wrote:
> > Replace "i_mmap_lock" with "mmap_lock" in the lock ordering comment above
> > xfs_filemap_page_mkwrite(). The lock in question is a
On Tue, Sep 22, 2015 at 03:46:51PM -0600, Ross Zwisler wrote:
> copy_user_page() is needed by DAX. Without this we get a compile error
> for DAX on SH:
>
> fs/dax.c:280:2: error: implicit declaration of function ‘copy_user_page’
> [-Werror=implicit-function-declaration]
>
On Tue, Sep 08, 2015 at 04:59:20PM -0600, Ross Zwisler wrote:
> The big warning comment that is currently at the end of struct
> inode_operations was added as part of this commit:
>
> 4aa7c6346be3 ("vfs: add i_op->dentry_open()")
>
> It was added to warn pe
ts don't get the full series and so are lacking in context
> for proper review. ]
Okay, will do.
> On Fri, Oct 09, 2015 at 04:02:08PM -0600, Ross Zwisler wrote:
<>
> > +/*
> > + * The lock ordering for ext2 DAX fault paths is:
> > + *
> > + *
On Mon, Oct 12, 2015 at 10:14:43AM +1100, Dave Chinner wrote:
> On Fri, Oct 09, 2015 at 04:02:08PM -0600, Ross Zwisler wrote:
> > Add locking to ensure that DAX faults are isolated from ext2 operations
> > that modify the data blocks allocation for an inode. This is intended to
&
On Tue, Oct 13, 2015 at 10:24:28AM +1100, Dave Chinner wrote:
> On Mon, Oct 12, 2015 at 03:41:35PM -0600, Ross Zwisler wrote:
> > On Mon, Oct 12, 2015 at 10:14:43AM +1100, Dave Chinner wrote:
> > > On Fri, Oct 09, 2015 at 04:02:08PM -0600, Ross Zwisler wrote:
> > > >
while we re-work DAX locking for
v4.4.
Ross Zwisler (3):
Revert "mm: take i_mmap_lock in unmap_mapping_range() for DAX"
Revert "dax: fix race between simultaneous faults"
dax: temporarily disable DAX PMD fault path
fs/dax.c| 90 ---
t keeps the PMEM API changes to the zeroing code in
__dax_pmd_fault(), which were added by this commit:
commit d77e92e270ed ("dax: update PMD fault handler with PMEM API")
Signed-off-by: Ross Zwisler <ross.zwis...@linux.intel.com>
---
fs/dax.c| 50 ++--
We are re-working the way that DAX does its locking for v4.4, so for now
just disable DAX PMD faults and fall back to PAGE_SIZE faults to make sure
we don't hit this deadlock.
Signed-off-by: Ross Zwisler <ross.zwis...@linux.intel.com>
---
fs/dax.c | 7 +++
1 file changed, 7 insertions(+)
number of deadlocks and other issues, and need to be
reverted for the v4.3 kernel. The list of issues in DAX after these
commits (some newly introduced by the commits, some preexisting) can be
found here:
https://lkml.org/lkml/2015/9/25/602
Signed-off-by: Ross Zwisler <ross.zwis...@linux.intel.com
- reduced the revert of 46c043ede471 in patch 1 so that we still drop the
mapping->i_mmap_rwsem before calling unmap_mapping_range(). This prevents
the deadlock in the __dax_pmd_fault() path so there is no longer a need to
temporarily disable DAX PMD faults.
Ross Zwisler (2):
Rever
ock since that's what is
now used by the rest of __dax_pmd_fault(). This is needed to avoid
recursively acquiring mapping->i_mmap_rwsem, once with a read lock in
__dax_pmd_fault() and once with a write lock in unmap_mapping_range().
Signed-off-by: Ross Zwisler <ross.zwis...
number of deadlocks and other issues, and need to be
reverted for the v4.3 kernel. The list of issues in DAX after these
commits (some newly introduced by the commits, some preexisting) can be
found here:
https://lkml.org/lkml/2015/9/25/602
Signed-off-by: Ross Zwisler <ross.zwis...@linux.intel.com
.
Lockdep was on and working, and didn't have any complaints.
Ross Zwisler (2):
dax: dax_pfn_mkwrite() truncate race check
ext2: Add locking for DAX faults
fs/dax.c| 13 +++--
fs/ext2/ext2.h | 1 +
fs/ext2/file.c | 51 +++
fs/ext
hole punching, fallocate down, extent
manipulation IOCTLS like xfs_ioc_space() and extent swapping. Truncate is
the only one of these operations supported by ext2.
Signed-off-by: Ross Zwisler <ross.zwis...@linux.intel.com>
---
fs/ext2/ext2.h | 1 +
fs/ext2/file.c
entitled "xfs: add ->pfn_mkwrite support for DAX".
Signed-off-by: Ross Zwisler <ross.zwis...@linux.intel.com>
---
fs/dax.c | 13 +++--
1 file changed, 11 insertions(+), 2 deletions(-)
diff --git a/fs/dax.c b/fs/dax.c
index 131fd35a..82be6e4 100644
--- a/fs/dax.c
+++ b/
On Fri, Oct 09, 2015 at 03:18:11PM -0700, Dan Williams wrote:
> On Fri, Oct 9, 2015 at 3:02 PM, Ross Zwisler
> <ross.zwis...@linux.intel.com> wrote:
> > Add locking to ensure that DAX faults are isolated from ext2 operations
> > that modify the data blocks
he current "block_page_mkwrite()", is currently unused.
__block_page_mkwrite() is used directly by ext4, nilfs2 and xfs.
Remove the unused wrapper and rename __block_page_mkwrite() back to
block_page_mkwrite().
Signed-off-by: Ross Zwisler <ross.zwis...@linux.intel.com>
Cc: Jan Kara <
On Tue, Oct 13, 2015 at 10:07:12AM +0200, Jan Kara wrote:
> On Mon 12-10-15 15:41:35, Ross Zwisler wrote:
> > On Mon, Oct 12, 2015 at 10:14:43AM +1100, Dave Chinner wrote:
> > > On Fri, Oct 09, 2015 at 04:02:08PM -0600, Ross Zwisler wrote:
> > > > Add locking to ensur
On Tue, Oct 13, 2015 at 12:35:44AM +0100, Eric Curtin wrote:
> Hi Ross,
>
> For all those int ret declarations. Why not declare and initialize all
> on the same line?
>
> Regards,
> Eric
Because the return value 'ret' is set unconditionally later in the function as
part of a call into the DAX
entitled "xfs: add ->pfn_mkwrite support for DAX".
Signed-off-by: Ross Zwisler <ross.zwis...@linux.intel.com>
Cc: Dave Chinner <da...@fromorbit.com>
---
fs/dax.c | 13 +++--
1 file changed, 11 insertions(+), 2 deletions(-)
diff --git a/fs/dax.c b/fs/dax.c
index
he current "block_page_mkwrite()", is currently unused.
__block_page_mkwrite() is used directly by ext4, nilfs2 and xfs.
Remove the unused wrapper, rename __block_page_mkwrite() back to
block_page_mkwrite() and update the comment above block_page_mkwrite().
Signed-off-by: Ross Zwisler <ros
On Mon, Oct 05, 2015 at 04:33:35PM -0600, Ross Zwisler wrote:
> Add two new flags to the existing coredump mechanism for ELF files to allow
> us to explicitly filter DAX mappings. This is desirable because DAX
> mappings, like hugetlb mappings, have the potential to be v
hole punching, fallocate down, extent
manipulation IOCTLS like xfs_ioc_space() and extent swapping. Truncate is
the only one of these operations supported by ext2.
Signed-off-by: Ross Zwisler <ross.zwis...@linux.intel.com>
---
fs/ext2/ext2.h | 11
fs/ext2/file.c
ult handler wrappers
that do locking for the filesystems. (Dave)
- Warn if 'dax_sem' isn't properly held in __ext2_truncate_blocks. (Dan)
Ross Zwisler (2):
dax: dax_pfn_mkwrite() truncate race check
ext2: Add locking for DAX faults
fs/dax.c| 13 +++--
fs/ext2/ext2.h |
On Tue, 2015-07-07 at 17:41 +0200, Nicolai Stange wrote:
Commit 61031952f4c8 (arch, x86: pmem api for ensuring durability of
persistent memory updates)
defined __pmem in include/linux/compiler.h only for the case
CONFIG_RCU_SPARSE_POINTER=n, probably by accident.
With
that the hardware has
fully processed the new command and moved the aperture appropriately.
Signed-off-by: Ross Zwisler ross.zwis...@linux.intel.com
Cc: linux-nvd...@lists.01.org
Cc: linux-a...@vger.kernel.org
Cc: Rafael J. Wysocki r...@rjwysocki.net
Cc: Dan Williams dan.j.willi...@intel.com
Cc: Len Brown
6.0 specification:
http://www.uefi.org/sites/default/files/resources/ACPI_6.0.pdf
Signed-off-by: Ross Zwisler ross.zwis...@linux.intel.com
Cc: linux-nvd...@lists.01.org
Cc: linux-a...@vger.kernel.org
Cc: Rafael J. Wysocki r...@rjwysocki.net
Cc: Dan Williams dan.j.willi...@intel.com
Cc: Len Brown
before the
associated apertures are accessed, which is necessary for proper operation.
This series also updates the I/O path to use non-temporal stores, and to
respect the latch flag outlined in the DSM specification.
Ross Zwisler (3):
pmem: add maintainer for include/linux/pmem.h
nfit: update
The file include/linux/pmem.h was recently created to hold the PMEM API,
and is logically part of the PMEM driver. Add an entry for this file to
MAINTAINERS.
Signed-off-by: Ross Zwisler ross.zwis...@linux.intel.com
Cc: Greg KH gre...@linuxfoundation.org
Cc: Dan Williams dan.j.willi...@intel.com
On Tue, 2015-07-07 at 10:43 -0300, Mauro Carvalho Chehab wrote:
The #define __pmem was put at the wrong place, inside a
__rcu check. The way it is, if CONFIG_SPARSE_RCU_POINTER is
not defined, it will produce thousands of errors like:
./arch/x86/include/asm/io.h:251:27: error: void
On Wed, Nov 18, 2015 at 11:40:55AM +0100, Jan Kara wrote:
> On Mon 16-11-15 13:09:50, Ross Zwisler wrote:
> > On Fri, Nov 13, 2015 at 06:32:40PM -0800, Dan Williams wrote:
> > > On Fri, Nov 13, 2015 at 4:43 PM, Andreas Dilger <adil...@dilger.ca> wrote:
> > > &
to enable this
mapping change.
Ross Zwisler (1):
nd_blk: change aperture mapping from WC to WB
arch/x86/Kconfig | 1 +
arch/x86/include/asm/cacheflush.h | 2 ++
arch/x86/include/asm/io.h | 2 --
arch/x86/include/asm/pmem.h | 2 ++
drivers/acpi/Kconfig
only supported on x86.
Signed-off-by: Ross Zwisler ross.zwis...@linux.intel.com
Cc: Dan Williams dan.j.willi...@intel.com
---
arch/x86/Kconfig | 1 +
arch/x86/include/asm/cacheflush.h | 2 ++
arch/x86/include/asm/io.h | 2 --
arch/x86/include/asm/pmem.h | 2
On Wed, Aug 26, 2015 at 10:20:23AM -0600, Toshi Kani wrote:
diff --git a/drivers/acpi/nfit.c b/drivers/acpi/nfit.c
index c3fe206..6993ff2 100644
--- a/drivers/acpi/nfit.c
+++ b/drivers/acpi/nfit.c
@@ -701,12 +701,13 @@ static ssize_t flags_show(struct device *dev,
{
u16 flags =
-by: Ross Zwisler <ross.zwis...@linux.intel.com>
---
This patch is based on libnvdimm-for-next from our NVDIMM tree:
https://git.kernel.org/cgit/linux/kernel/git/nvdimm/nvdimm.git/
with some DAX patches on top. The baseline tree can be found here:
https://github.com/01org/prd/tree/dax_msync
---
On Mon, Aug 31, 2015 at 09:06:19PM +0200, Christoph Hellwig wrote:
> On Mon, Aug 31, 2015 at 12:59:44PM -0600, Ross Zwisler wrote:
> > For DAX msync we just need to flush the given range using
> > wb_cache_pmem(), which is now a public part of the PMEM API.
> >
> > Th
On Wed, Sep 02, 2015 at 08:21:20AM +1000, Dave Chinner wrote:
> Which means applications that should "just work" without
> modification on DAX are now subtly broken and don't actually
> guarantee data is safe after a crash. That's a pretty nasty
> landmine, and goes against *everything* we've
On Tue, Sep 01, 2015 at 04:12:42PM +0300, Boaz Harrosh wrote:
> On 08/31/2015 09:59 PM, Ross Zwisler wrote:
> > @@ -753,3 +755,18 @@ int dax_truncate_page(struct inode *inode, loff_t
> > from, get_block_t get_block)
> > return dax_zero_page_range(inode, fr
On Thu, Sep 03, 2015 at 09:32:02AM +0300, Boaz Harrosh wrote:
> On 09/02/2015 10:04 PM, Ross Zwisler wrote:
> > On Tue, Sep 01, 2015 at 03:18:41PM +0300, Boaz Harrosh wrote:
> <>
> >> Apps expect all these to work:
> >> 1. open mmap m-write msync ... close
>
moved as part of this commit:
4bacc9c9234c ("overlayfs: Make f_path always point to the overlay and
f_inode to the underlay")
The comment was left behind and now refers to nothing, so remove it.
Signed-off-by: Ross Zwisler <ross.zwis...@linux.intel.com>
---
include/linu
On Mon, Aug 31, 2015 at 02:17:18PM +0200, Matias Bjørling wrote:
> From: Matias Bjørling
>
> Driver was not freeing the memory allocated for internal nullb queues.
> This patch frees the memory during driver unload.
You may want to consider devm_* style allocations instead.
On Tue, Sep 01, 2015 at 03:18:41PM +0300, Boaz Harrosh wrote:
> So the approach we took was a bit different to exactly solve these
> problem, and to also not over flush too much. here is what we did.
>
> * At vm_operations_struct we also override the .close vector (say call it
> dax_vm_close)
>
(disk, size);
> + set_capacity(disk, size >> 9);
>
> disk->flags |= GENHD_FL_EXT_DEVT | GENHD_FL_SUPPRESS_PARTITION_INFO;
> disk->major = null_major;
Looks correct.
Reviewed-by: Ross Zwisler <ross.zwis...@linux.intel.com>
--
To unsu
by the DAX PMD patches also needs to be
updated to properly use the PMEM API. This ensures that after a PMD
fault is handled the zeros written to the newly allocated pages are
durable on the DIMMs.
linux/dax.h is included to get rid of a bunch of sparse warnings.
Signed-off-by: Ross Zwisler
dates")
but it looks like the pmem_rw_page() path was missed.
Signed-off-by: Ross Zwisler <ross.zwis...@linux.intel.com>
---
drivers/nvdimm/pmem.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/nvdimm/pmem.c b/drivers/nvdimm/pmem.c
index b952538..0ba6a97 100644
--- a/drivers/nvd
On Wed, Sep 16, 2015 at 02:12:18PM +0300, Kirill A. Shutemov wrote:
> On Tue, Sep 15, 2015 at 04:52:42PM -0700, Dan Williams wrote:
> > Hi Kirill,
> >
> > On Fri, Aug 7, 2015 at 4:53 AM, Kirill A. Shutemov
> > wrote:
> > > DAX is not so special: we need
On Tue, Sep 29, 2015 at 12:44:58PM +1000, Dave Chinner wrote:
<>
> Already testing a kernel with those reverted. My current DAX patch
> stack is (bottom is first commit in stack):
>
> f672ae4 xfs: add ->pfn_mkwrite support for DAX
> 6855c23 xfs: remove DAX complete_unwritten callback
> e074bdf
On Thu, Oct 01, 2015 at 05:46:33PM +1000, Dave Chinner wrote:
> This reverts commit 46c043ede4711e8d598b9d63c5616c1fedb0605e.
> ---
> fs/dax.c| 36
> mm/memory.c | 11 +--
> 2 files changed, 25 insertions(+), 22 deletions(-)
>
> diff --git
On Thu, Oct 01, 2015 at 05:46:32PM +1000, Dave Chinner wrote:
> Hi folks,
>
> As discussed in the recent thread about problems with DAX locking:
>
> http://www.gossamer-threads.com/lists/linux/kernel/2264090?do=post_view_threaded
>
> I said that I'd post the patch set that fixed the problems
On Fri, Oct 02, 2015 at 08:32:40AM +1000, Dave Chinner wrote:
> I couldn't work out what set of commits I needed to revert to get a
> clean revert, so I just reverted the commits and hacked out the
> revert failures to what looked ok. Feel free to send me a clean set
> of reverts, and I'll replace
to take advantage of non-temporal
> clear_page() implementations. However, x86_64 does not use
> non-temporal instructions for clear_page(), and arch_clear_pmem() was
> always incurring the cost of __arch_wb_cache_pmem().
>
> Clean up the assumption that doing clear_pmem() a page at a t
On Fri, Oct 02, 2015 at 06:01:32PM -0600, Ross Zwisler wrote:
> This series reverts some recent changes to the locking scheme in DAX
> introduced
> by these two commits:
>
> commit 843172978bb9 ("dax: fix race between simultaneous faults")
> commit 46c043e
ake i_mmap_lock in unmap_mapping_range() for DAX")
had other issues as well, so they need to just be reverted.
The list of issues in DAX after these commits (some newly introduced by
the commits, some preexisting) can be found here:
https://lkml.org/lkml/2015/9/25/602
Signed-off-by: Ros
number of deadlocks and other issues, and need to be
reverted for the v4.3 kernel. The list of issues in DAX after these
commits (some newly introduced by the commits, some preexisting) can be
found here:
https://lkml.org/lkml/2015/9/25/602
Signed-off-by: Ross Zwisler <ross.zwis...@linux.intel.com
e in
__dax_pmd_fault(), which were added by this commit:
commit d77e92e270ed ("dax: update PMD fault handler with PMEM API")
Signed-off-by: Ross Zwisler <ross.zwis...@linux.intel.com>
---
fs/dax.c| 37 +
mm/memory.c | 11 +--
2 files cha
or XFS,
and Jan Kara has said he will help with ext4.
akpm, this series obviates my patch "dax: fix deadlock in __dax_fault()" that
is currently in the -mm tree but which I believe has not yet been sent to Linus.
Can you please just remove it from -mm?
Ross Zwisler (3):
number of deadlocks and other issues, and need to be
reverted for the v4.3 kernel. The list of issues in DAX after these
commits (some newly introduced by the commits, some preexisting) can be
found here:
https://lkml.org/lkml/2015/9/25/602
Signed-off-by: Ross Zwisler <ross.zwis...@linux.intel.com
t keeps the PMEM API changes to the zeroing code in
__dax_pmd_fault(), which were added by this commit:
commit d77e92e270ed ("dax: update PMD fault handler with PMEM API")
Signed-off-by: Ross Zwisler <ross.zwis...@linux.intel.com>
---
fs/dax.c| 50 ++--
patches 1 and 2 from the first series into a single patch to avoid
adding another spot in the git history where we could end up referencing an
uninitialized pointer.
Ross Zwisler (2):
Revert "mm: take i_mmap_lock in unmap_mapping_range() for DAX"
Revert "dax: fix rac
On Fri, Oct 02, 2015 at 02:11:03PM -0700, Dan Williams wrote:
> On Fri, Oct 2, 2015 at 2:02 PM, Ross Zwisler
> <ross.zwis...@linux.intel.com> wrote:
> > This reverts commit 8346c416d17bf5b4ea1508662959bb62e73fd6a5.
> >
> > This commit did fix the issue it int
On Mon, Sep 28, 2015 at 10:59:04AM +1000, Dave Chinner wrote:
> On Fri, Sep 25, 2015 at 09:17:45PM -0600, Ross Zwisler wrote:
<>
> In reality, the require DAX page fault vs truncate serialisation is
> provided for XFS by the XFS_MMAPLOCK_* inode locking that is done in
>
on in the
kernel config. This kernel config option defaults to "y" if both ELF
binaries and coredump are enabled.
Signed-off-by: Ross Zwisler <ross.zwis...@linux.intel.com>
---
Documentation/filesystems/proc.txt | 22 --
fs/binfmt_elf.c| 10 +
Add explicit filtering for DAX mappings to FDPIC ELF coredump. This is
useful because DAX mappings have the potential to be very large.
This patch has only been compile tested.
Signed-off-by: Ross Zwisler <ross.zwis...@linux.intel.com>
---
fs/binfmt_elf_fdpic.c | 15 +++
) to update the documentation on the new
filtering flags. I'll send it out once this gets merged.
[1] http://thread.gmane.org/gmane.linux.kernel.mm/139026
Ross Zwisler (2):
coredump: add DAX filtering for ELF coredumps
coredump: add DAX filtering for FDPIC ELF coredumps
Documentation
On Thu, Sep 24, 2015 at 12:52:25PM +1000, Dave Chinner wrote:
> On Wed, Sep 23, 2015 at 02:40:00PM -0600, Ross Zwisler wrote:
> > Fix the deadlock exposed by xfstests generic/075. Here is the sequence
> > that was causing us to deadlock:
> >
> > 1) enter __dax_fault()
201 - 300 of 2219 matches
Mail list logo