From: Ross Zwisler <ross.zwisler@linux.intel.com>
To: Dan Williams <dan.j.williams@intel.com>
Cc: Jan Kara <jack@suse.cz>, Andreas Dilger <adilger@dilger.ca>,
Ross Zwisler <ross.zwisler@linux.intel.com>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"H. Peter Anvin" <hpa@zytor.com>,
"J. Bruce Fields" <bfields@fieldses.org>,
Theodore Ts'o <tytso@mit.edu>,
Alexander Viro <viro@zeniv.linux.org.uk>,
Dave Chinner <david@fromorbit.com>,
Ingo Molnar <mingo@redhat.com>, Jan Kara <jack@suse.com>,
Jeff Layton <jlayton@poochiereds.net>,
Matthew Wilcox <willy@linux.intel.com>,
Thomas Gleixner <tglx@linutronix.de>,
linux-ext4 <linux-ext4@vger.kernel.org>,
linux-fsdevel <linux-fsdevel@vger.kernel.org>,
Linux MM <linux-mm@kvack.org>,
"linux-nvdimm@lists.01.org" <linux-nvdimm@lists.01.org>,
X86 ML <x86@kernel.org>, XFS Developers <xfs@oss.sgi.com>,
Andrew Morton <akpm@linux-foundation.org>,
Matthew Wilcox <matthew.r.wilcox@intel.com>,
Dave Hansen <dave.hansen@l
Subject: Re: [PATCH v2 03/11] pmem: enable REQ_FUA/REQ_FLUSH handling
Date: Mon, 16 Nov 2015 12:48:46 -0700 [thread overview]
Message-ID: <20151116194846.GB32203@linux.intel.com> (raw)
In-Reply-To: <CAPcyv4jZjnkz2YYtGWmkA23KAUMT092kjRtFkJ3QrzgPfTucfA@mail.gmail.com>
On Mon, Nov 16, 2015 at 09:28:59AM -0800, Dan Williams wrote:
> On Mon, Nov 16, 2015 at 6:05 AM, Jan Kara <jack@suse.cz> 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 it after each write? I'm not sure how
> > expensive these instructions are but in theory it could be a performance
> > win, couldn't it? For filesystems this is enough wrt persistency
> > guarantees...
>
> We would need to gather the performance data... The expectation is
> that the cache flushing is more expensive than the sfence + pcommit.
I think we should revisit the idea of removing wmb_pmem() from the I/O path in
both the PMEM driver and in DAX, and just relying on the REQ_FUA/REQ_FLUSH
path to do wmb_pmem() for all cases. This was brought up in the thread
dealing with the "big hammer" fsync/msync patches as well.
https://lkml.org/lkml/2015/11/3/730
I think we can all agree from the start that wmb_pmem() will have a nonzero
cost, both because of the PCOMMIT and because of the ordering caused by the
sfence. If it's possible to avoid doing it on each I/O, I think that would be
a win.
So, here would be our new flows:
PMEM I/O:
write I/O(s) to the driver
PMEM I/O writes the data using non-temporal stores
REQ_FUA/REQ_FLUSH to the PMEM driver
wmb_pmem() to order all previous writes and flushes, and to
PCOMMIT the dirty data durably to the DIMMs
DAX I/O:
write I/O(s) to the DAX layer
write the data using regular stores (eventually to be replaced
with non-temporal stores)
flush the data with wb_cache_pmem() (removed when we use
non-temporal stores)
REQ_FUA/REQ_FLUSH to the PMEM driver
wmb_pmem() to order all previous writes and flushes, and to
PCOMMIT the dirty data durably to the DIMMs
DAX msync/fsync:
writes happen to DAX mmaps from userspace
DAX fsync/msync
all dirty pages are written back using wb_cache_pmem()
REQ_FUA/REQ_FLUSH to the PMEM driver
wmb_pmem() to order all previous writes and flushes, and to
PCOMMIT the dirty data durably to the DIMMs
DAX/PMEM zeroing (suggested by Dave: https://lkml.org/lkml/2015/11/2/772):
PMEM driver receives zeroing request
writes a bunch of zeroes using non-temporal stores
REQ_FUA/REQ_FLUSH to the PMEM driver
wmb_pmem() to order all previous writes and flushes, and to
PCOMMIT the dirty data durably to the DIMMs
Having all these flows wait to do wmb_pmem() in the PMEM driver in response to
REQ_FUA/REQ_FLUSH has several advantages:
1) The work done and guarantees provided after each step closely match the
normal block I/O to disk case. This means that the existing algorithms used
by filesystems to make sure that their metadata is ordered properly and synced
at a known time should all work the same.
2) By delaying wmb_pmem() until REQ_FUA/REQ_FLUSH time we can potentially do
many I/Os at different levels, and order them all with a single wmb_pmem().
This should result in a performance win.
Is there any reason why this wouldn't work or wouldn't be a good idea?
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
WARNING: multiple messages have this Message-ID (diff)
From: Ross Zwisler <ross.zwisler@linux.intel.com>
To: Dan Williams <dan.j.williams@intel.com>
Cc: Jan Kara <jack@suse.cz>, Andreas Dilger <adilger@dilger.ca>,
Ross Zwisler <ross.zwisler@linux.intel.com>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"H. Peter Anvin" <hpa@zytor.com>,
"J. Bruce Fields" <bfields@fieldses.org>,
Theodore Ts'o <tytso@mit.edu>,
Alexander Viro <viro@zeniv.linux.org.uk>,
Dave Chinner <david@fromorbit.com>,
Ingo Molnar <mingo@redhat.com>, Jan Kara <jack@suse.com>,
Jeff Layton <jlayton@poochiereds.net>,
Matthew Wilcox <willy@linux.intel.com>,
Thomas Gleixner <tglx@linutronix.de>,
linux-ext4 <linux-ext4@vger.kernel.org>,
linux-fsdevel <linux-fsdevel@vger.kernel.org>,
Linux MM <linux-mm@kvack.org>,
"linux-nvdimm@lists.01.org" <linux-nvdimm@lists.01.org>,
X86 ML <x86@kernel.org>, XFS Developers <xfs@oss.sgi.com>,
Andrew Morton <akpm@linux-foundation.org>,
Matthew Wilcox <matthew.r.wilcox@intel.com>,
Dave Hansen <dave.hansen@linux.intel.com>
Subject: Re: [PATCH v2 03/11] pmem: enable REQ_FUA/REQ_FLUSH handling
Date: Mon, 16 Nov 2015 12:48:46 -0700 [thread overview]
Message-ID: <20151116194846.GB32203@linux.intel.com> (raw)
In-Reply-To: <CAPcyv4jZjnkz2YYtGWmkA23KAUMT092kjRtFkJ3QrzgPfTucfA@mail.gmail.com>
On Mon, Nov 16, 2015 at 09:28:59AM -0800, Dan Williams wrote:
> On Mon, Nov 16, 2015 at 6:05 AM, Jan Kara <jack@suse.cz> 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 it after each write? I'm not sure how
> > expensive these instructions are but in theory it could be a performance
> > win, couldn't it? For filesystems this is enough wrt persistency
> > guarantees...
>
> We would need to gather the performance data... The expectation is
> that the cache flushing is more expensive than the sfence + pcommit.
I think we should revisit the idea of removing wmb_pmem() from the I/O path in
both the PMEM driver and in DAX, and just relying on the REQ_FUA/REQ_FLUSH
path to do wmb_pmem() for all cases. This was brought up in the thread
dealing with the "big hammer" fsync/msync patches as well.
https://lkml.org/lkml/2015/11/3/730
I think we can all agree from the start that wmb_pmem() will have a nonzero
cost, both because of the PCOMMIT and because of the ordering caused by the
sfence. If it's possible to avoid doing it on each I/O, I think that would be
a win.
So, here would be our new flows:
PMEM I/O:
write I/O(s) to the driver
PMEM I/O writes the data using non-temporal stores
REQ_FUA/REQ_FLUSH to the PMEM driver
wmb_pmem() to order all previous writes and flushes, and to
PCOMMIT the dirty data durably to the DIMMs
DAX I/O:
write I/O(s) to the DAX layer
write the data using regular stores (eventually to be replaced
with non-temporal stores)
flush the data with wb_cache_pmem() (removed when we use
non-temporal stores)
REQ_FUA/REQ_FLUSH to the PMEM driver
wmb_pmem() to order all previous writes and flushes, and to
PCOMMIT the dirty data durably to the DIMMs
DAX msync/fsync:
writes happen to DAX mmaps from userspace
DAX fsync/msync
all dirty pages are written back using wb_cache_pmem()
REQ_FUA/REQ_FLUSH to the PMEM driver
wmb_pmem() to order all previous writes and flushes, and to
PCOMMIT the dirty data durably to the DIMMs
DAX/PMEM zeroing (suggested by Dave: https://lkml.org/lkml/2015/11/2/772):
PMEM driver receives zeroing request
writes a bunch of zeroes using non-temporal stores
REQ_FUA/REQ_FLUSH to the PMEM driver
wmb_pmem() to order all previous writes and flushes, and to
PCOMMIT the dirty data durably to the DIMMs
Having all these flows wait to do wmb_pmem() in the PMEM driver in response to
REQ_FUA/REQ_FLUSH has several advantages:
1) The work done and guarantees provided after each step closely match the
normal block I/O to disk case. This means that the existing algorithms used
by filesystems to make sure that their metadata is ordered properly and synced
at a known time should all work the same.
2) By delaying wmb_pmem() until REQ_FUA/REQ_FLUSH time we can potentially do
many I/Os at different levels, and order them all with a single wmb_pmem().
This should result in a performance win.
Is there any reason why this wouldn't work or wouldn't be a good idea?
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
WARNING: multiple messages have this Message-ID (diff)
From: Ross Zwisler <ross.zwisler@linux.intel.com>
To: Dan Williams <dan.j.williams@intel.com>
Cc: Jan Kara <jack@suse.cz>,
Dave Hansen <dave.hansen@linux.intel.com>,
"J. Bruce Fields" <bfields@fieldses.org>,
Linux MM <linux-mm@kvack.org>, "H. Peter Anvin" <hpa@zytor.com>,
Jeff Layton <jlayton@poochiereds.net>,
"linux-nvdimm@lists.01.org" <linux-nvdimm@lists.01.org>,
X86 ML <x86@kernel.org>, Ingo Molnar <mingo@redhat.com>,
Matthew Wilcox <willy@linux.intel.com>,
Ross Zwisler <ross.zwisler@linux.intel.com>,
linux-ext4 <linux-ext4@vger.kernel.org>,
XFS Developers <xfs@oss.sgi.com>,
Alexander Viro <viro@zeniv.linux.org.uk>,
Thomas Gleixner <tglx@linutronix.de>,
Andreas Dilger <adilger@dilger.ca>, Theodore Ts'o <tytso@mit.edu>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Jan Kara <jack@suse.com>,
linux-fsdevel <linux-fsdevel@vger.kernel.org>,
Andrew Morton <akpm@linux-foundation.org>,
Matthew Wilcox <matthew.r.wilcox@intel.com>
Subject: Re: [PATCH v2 03/11] pmem: enable REQ_FUA/REQ_FLUSH handling
Date: Mon, 16 Nov 2015 12:48:46 -0700 [thread overview]
Message-ID: <20151116194846.GB32203@linux.intel.com> (raw)
In-Reply-To: <CAPcyv4jZjnkz2YYtGWmkA23KAUMT092kjRtFkJ3QrzgPfTucfA@mail.gmail.com>
On Mon, Nov 16, 2015 at 09:28:59AM -0800, Dan Williams wrote:
> On Mon, Nov 16, 2015 at 6:05 AM, Jan Kara <jack@suse.cz> 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 it after each write? I'm not sure how
> > expensive these instructions are but in theory it could be a performance
> > win, couldn't it? For filesystems this is enough wrt persistency
> > guarantees...
>
> We would need to gather the performance data... The expectation is
> that the cache flushing is more expensive than the sfence + pcommit.
I think we should revisit the idea of removing wmb_pmem() from the I/O path in
both the PMEM driver and in DAX, and just relying on the REQ_FUA/REQ_FLUSH
path to do wmb_pmem() for all cases. This was brought up in the thread
dealing with the "big hammer" fsync/msync patches as well.
https://lkml.org/lkml/2015/11/3/730
I think we can all agree from the start that wmb_pmem() will have a nonzero
cost, both because of the PCOMMIT and because of the ordering caused by the
sfence. If it's possible to avoid doing it on each I/O, I think that would be
a win.
So, here would be our new flows:
PMEM I/O:
write I/O(s) to the driver
PMEM I/O writes the data using non-temporal stores
REQ_FUA/REQ_FLUSH to the PMEM driver
wmb_pmem() to order all previous writes and flushes, and to
PCOMMIT the dirty data durably to the DIMMs
DAX I/O:
write I/O(s) to the DAX layer
write the data using regular stores (eventually to be replaced
with non-temporal stores)
flush the data with wb_cache_pmem() (removed when we use
non-temporal stores)
REQ_FUA/REQ_FLUSH to the PMEM driver
wmb_pmem() to order all previous writes and flushes, and to
PCOMMIT the dirty data durably to the DIMMs
DAX msync/fsync:
writes happen to DAX mmaps from userspace
DAX fsync/msync
all dirty pages are written back using wb_cache_pmem()
REQ_FUA/REQ_FLUSH to the PMEM driver
wmb_pmem() to order all previous writes and flushes, and to
PCOMMIT the dirty data durably to the DIMMs
DAX/PMEM zeroing (suggested by Dave: https://lkml.org/lkml/2015/11/2/772):
PMEM driver receives zeroing request
writes a bunch of zeroes using non-temporal stores
REQ_FUA/REQ_FLUSH to the PMEM driver
wmb_pmem() to order all previous writes and flushes, and to
PCOMMIT the dirty data durably to the DIMMs
Having all these flows wait to do wmb_pmem() in the PMEM driver in response to
REQ_FUA/REQ_FLUSH has several advantages:
1) The work done and guarantees provided after each step closely match the
normal block I/O to disk case. This means that the existing algorithms used
by filesystems to make sure that their metadata is ordered properly and synced
at a known time should all work the same.
2) By delaying wmb_pmem() until REQ_FUA/REQ_FLUSH time we can potentially do
many I/Os at different levels, and order them all with a single wmb_pmem().
This should result in a performance win.
Is there any reason why this wouldn't work or wouldn't be a good idea?
_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs
WARNING: multiple messages have this Message-ID (diff)
From: Ross Zwisler <ross.zwisler@linux.intel.com>
To: Dan Williams <dan.j.williams@intel.com>
Cc: Jan Kara <jack@suse.cz>, Andreas Dilger <adilger@dilger.ca>,
Ross Zwisler <ross.zwisler@linux.intel.com>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"H. Peter Anvin" <hpa@zytor.com>,
"J. Bruce Fields" <bfields@fieldses.org>,
"Theodore Ts'o" <tytso@mit.edu>,
Alexander Viro <viro@zeniv.linux.org.uk>,
Dave Chinner <david@fromorbit.com>,
Ingo Molnar <mingo@redhat.com>, Jan Kara <jack@suse.com>,
Jeff Layton <jlayton@poochiereds.net>,
Matthew Wilcox <willy@linux.intel.com>,
Thomas Gleixner <tglx@linutronix.de>,
linux-ext4 <linux-ext4@vger.kernel.org>,
linux-fsdevel <linux-fsdevel@vger.kernel.org>,
Linux MM <linux-mm@kvack.org>,
"linux-nvdimm@lists.01.org" <linux-nvdimm@ml01.01.org>,
X86 ML <x86@kernel.org>, XFS Developers <xfs@oss.sgi.com>,
Andrew Morton <akpm@linux-foundation.org>,
Matthew Wilcox <matthew.r.wilcox@intel.com>,
Dave Hansen <dave.hansen@linux.intel.com>
Subject: Re: [PATCH v2 03/11] pmem: enable REQ_FUA/REQ_FLUSH handling
Date: Mon, 16 Nov 2015 12:48:46 -0700 [thread overview]
Message-ID: <20151116194846.GB32203@linux.intel.com> (raw)
In-Reply-To: <CAPcyv4jZjnkz2YYtGWmkA23KAUMT092kjRtFkJ3QrzgPfTucfA@mail.gmail.com>
On Mon, Nov 16, 2015 at 09:28:59AM -0800, Dan Williams wrote:
> On Mon, Nov 16, 2015 at 6:05 AM, Jan Kara <jack@suse.cz> 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 it after each write? I'm not sure how
> > expensive these instructions are but in theory it could be a performance
> > win, couldn't it? For filesystems this is enough wrt persistency
> > guarantees...
>
> We would need to gather the performance data... The expectation is
> that the cache flushing is more expensive than the sfence + pcommit.
I think we should revisit the idea of removing wmb_pmem() from the I/O path in
both the PMEM driver and in DAX, and just relying on the REQ_FUA/REQ_FLUSH
path to do wmb_pmem() for all cases. This was brought up in the thread
dealing with the "big hammer" fsync/msync patches as well.
https://lkml.org/lkml/2015/11/3/730
I think we can all agree from the start that wmb_pmem() will have a nonzero
cost, both because of the PCOMMIT and because of the ordering caused by the
sfence. If it's possible to avoid doing it on each I/O, I think that would be
a win.
So, here would be our new flows:
PMEM I/O:
write I/O(s) to the driver
PMEM I/O writes the data using non-temporal stores
REQ_FUA/REQ_FLUSH to the PMEM driver
wmb_pmem() to order all previous writes and flushes, and to
PCOMMIT the dirty data durably to the DIMMs
DAX I/O:
write I/O(s) to the DAX layer
write the data using regular stores (eventually to be replaced
with non-temporal stores)
flush the data with wb_cache_pmem() (removed when we use
non-temporal stores)
REQ_FUA/REQ_FLUSH to the PMEM driver
wmb_pmem() to order all previous writes and flushes, and to
PCOMMIT the dirty data durably to the DIMMs
DAX msync/fsync:
writes happen to DAX mmaps from userspace
DAX fsync/msync
all dirty pages are written back using wb_cache_pmem()
REQ_FUA/REQ_FLUSH to the PMEM driver
wmb_pmem() to order all previous writes and flushes, and to
PCOMMIT the dirty data durably to the DIMMs
DAX/PMEM zeroing (suggested by Dave: https://lkml.org/lkml/2015/11/2/772):
PMEM driver receives zeroing request
writes a bunch of zeroes using non-temporal stores
REQ_FUA/REQ_FLUSH to the PMEM driver
wmb_pmem() to order all previous writes and flushes, and to
PCOMMIT the dirty data durably to the DIMMs
Having all these flows wait to do wmb_pmem() in the PMEM driver in response to
REQ_FUA/REQ_FLUSH has several advantages:
1) The work done and guarantees provided after each step closely match the
normal block I/O to disk case. This means that the existing algorithms used
by filesystems to make sure that their metadata is ordered properly and synced
at a known time should all work the same.
2) By delaying wmb_pmem() until REQ_FUA/REQ_FLUSH time we can potentially do
many I/Os at different levels, and order them all with a single wmb_pmem().
This should result in a performance win.
Is there any reason why this wouldn't work or wouldn't be a good idea?
next prev parent reply other threads:[~2015-11-16 19:48 UTC|newest]
Thread overview: 132+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-11-14 0:06 [PATCH v2 00/11] DAX fsynx/msync support Ross Zwisler
2015-11-14 0:06 ` Ross Zwisler
2015-11-14 0:06 ` Ross Zwisler
2015-11-14 0:06 ` [PATCH v2 01/11] pmem: add wb_cache_pmem() to the PMEM API Ross Zwisler
2015-11-14 0:06 ` Ross Zwisler
2015-11-14 0:06 ` Ross Zwisler
2015-11-14 0:06 ` [PATCH v2 02/11] mm: add pmd_mkclean() Ross Zwisler
2015-11-14 0:06 ` Ross Zwisler
2015-11-14 0:06 ` Ross Zwisler
2015-11-14 1:02 ` Dave Hansen
2015-11-14 1:02 ` Dave Hansen
2015-11-14 1:02 ` Dave Hansen
2015-11-17 17:52 ` Ross Zwisler
2015-11-17 17:52 ` Ross Zwisler
2015-11-17 17:52 ` Ross Zwisler
2015-11-14 0:06 ` [PATCH v2 03/11] pmem: enable REQ_FUA/REQ_FLUSH handling Ross Zwisler
2015-11-14 0:06 ` Ross Zwisler
2015-11-14 0:06 ` Ross Zwisler
2015-11-14 0:20 ` Dan Williams
2015-11-14 0:20 ` Dan Williams
2015-11-14 0:20 ` Dan Williams
2015-11-14 0:43 ` Andreas Dilger
2015-11-14 0:43 ` Andreas Dilger
2015-11-14 0:43 ` Andreas Dilger
2015-11-14 2:32 ` Dan Williams
2015-11-14 2:32 ` Dan Williams
2015-11-14 2:32 ` Dan Williams
2015-11-16 13:37 ` Jan Kara
2015-11-16 13:37 ` Jan Kara
2015-11-16 13:37 ` Jan Kara
2015-11-16 13:37 ` Jan Kara
2015-11-16 14:05 ` Jan Kara
2015-11-16 14:05 ` Jan Kara
2015-11-16 14:05 ` Jan Kara
2015-11-16 17:28 ` Dan Williams
2015-11-16 17:28 ` Dan Williams
2015-11-16 17:28 ` Dan Williams
2015-11-16 19:48 ` Ross Zwisler [this message]
2015-11-16 19:48 ` Ross Zwisler
2015-11-16 19:48 ` Ross Zwisler
2015-11-16 19:48 ` Ross Zwisler
2015-11-16 20:34 ` Dan Williams
2015-11-16 20:34 ` Dan Williams
2015-11-16 20:34 ` Dan Williams
2015-11-16 20:34 ` Dan Williams
2015-11-16 23:57 ` Ross Zwisler
2015-11-16 23:57 ` Ross Zwisler
2015-11-16 23:57 ` Ross Zwisler
2015-11-16 23:57 ` Ross Zwisler
2015-11-16 22:14 ` Dave Chinner
2015-11-16 22:14 ` Dave Chinner
2015-11-16 22:14 ` Dave Chinner
2015-11-16 23:29 ` Ross Zwisler
2015-11-16 23:29 ` Ross Zwisler
2015-11-16 23:29 ` Ross Zwisler
2015-11-16 23:29 ` Ross Zwisler
2015-11-16 23:42 ` Dave Chinner
2015-11-16 23:42 ` Dave Chinner
2015-11-16 23:42 ` Dave Chinner
2015-11-16 23:42 ` Dave Chinner
2015-11-16 20:09 ` Ross Zwisler
2015-11-16 20:09 ` Ross Zwisler
2015-11-16 20:09 ` Ross Zwisler
2015-11-18 10:40 ` Jan Kara
2015-11-18 10:40 ` Jan Kara
2015-11-18 10:40 ` Jan Kara
2015-11-18 10:40 ` Jan Kara
2015-11-18 16:16 ` Ross Zwisler
2015-11-18 16:16 ` Ross Zwisler
2015-11-18 16:16 ` Ross Zwisler
2015-11-18 16:16 ` Ross Zwisler
2015-11-18 16:16 ` Ross Zwisler
2015-11-14 0:06 ` [PATCH v2 04/11] dax: support dirty DAX entries in radix tree Ross Zwisler
2015-11-14 0:06 ` Ross Zwisler
2015-11-14 0:06 ` Ross Zwisler
2015-11-14 0:06 ` [PATCH v2 05/11] mm: add follow_pte_pmd() Ross Zwisler
2015-11-14 0:06 ` Ross Zwisler
2015-11-14 0:06 ` Ross Zwisler
2015-11-14 0:06 ` [PATCH v2 06/11] mm: add pgoff_mkclean() Ross Zwisler
2015-11-14 0:06 ` Ross Zwisler
2015-11-14 0:06 ` Ross Zwisler
2015-11-14 0:06 ` [PATCH v2 07/11] mm: add find_get_entries_tag() Ross Zwisler
2015-11-14 0:06 ` Ross Zwisler
2015-11-14 0:06 ` Ross Zwisler
2015-11-14 0:06 ` Ross Zwisler
2015-11-16 22:42 ` Dave Chinner
2015-11-16 22:42 ` Dave Chinner
2015-11-16 22:42 ` Dave Chinner
2015-11-17 18:08 ` Ross Zwisler
2015-11-17 18:08 ` Ross Zwisler
2015-11-17 18:08 ` Ross Zwisler
2015-11-14 0:06 ` [PATCH v2 08/11] dax: add support for fsync/sync Ross Zwisler
2015-11-14 0:06 ` Ross Zwisler
2015-11-14 0:06 ` Ross Zwisler
2015-11-16 22:58 ` Dave Chinner
2015-11-16 22:58 ` Dave Chinner
2015-11-16 22:58 ` Dave Chinner
2015-11-17 18:30 ` Ross Zwisler
2015-11-17 18:30 ` Ross Zwisler
2015-11-17 18:30 ` Ross Zwisler
2015-11-14 0:06 ` [PATCH v2 09/11] ext2: add support for DAX fsync/msync Ross Zwisler
2015-11-14 0:06 ` Ross Zwisler
2015-11-14 0:06 ` Ross Zwisler
2015-11-14 0:06 ` [PATCH v2 10/11] ext4: " Ross Zwisler
2015-11-14 0:06 ` Ross Zwisler
2015-11-14 0:06 ` Ross Zwisler
2015-11-14 0:06 ` Ross Zwisler
2015-11-14 0:06 ` [PATCH v2 11/11] xfs: " Ross Zwisler
2015-11-14 0:06 ` Ross Zwisler
2015-11-14 0:06 ` Ross Zwisler
2015-11-16 23:12 ` Dave Chinner
2015-11-16 23:12 ` Dave Chinner
2015-11-16 23:12 ` Dave Chinner
2015-11-16 23:12 ` Dave Chinner
2015-11-17 19:03 ` Ross Zwisler
2015-11-17 19:03 ` Ross Zwisler
2015-11-17 19:03 ` Ross Zwisler
2015-11-17 19:03 ` Ross Zwisler
2015-11-20 0:37 ` Dave Chinner
2015-11-20 0:37 ` Dave Chinner
2015-11-20 0:37 ` Dave Chinner
2015-11-16 14:41 ` [PATCH v2 00/11] DAX fsynx/msync support Jan Kara
2015-11-16 14:41 ` Jan Kara
2015-11-16 14:41 ` Jan Kara
2015-11-16 16:58 ` Dan Williams
2015-11-16 16:58 ` Dan Williams
2015-11-16 16:58 ` Dan Williams
2015-11-16 16:58 ` Dan Williams
2015-11-16 20:01 ` Ross Zwisler
2015-11-16 20:01 ` Ross Zwisler
2015-11-16 20:01 ` Ross Zwisler
2015-11-16 20:01 ` Ross Zwisler
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=20151116194846.GB32203@linux.intel.com \
--to=ross.zwisler@linux.intel.com \
--cc=adilger@dilger.ca \
--cc=akpm@linux-foundation.org \
--cc=bfields@fieldses.org \
--cc=dan.j.williams@intel.com \
--cc=dave.hansen@l \
--cc=david@fromorbit.com \
--cc=hpa@zytor.com \
--cc=jack@suse.com \
--cc=jack@suse.cz \
--cc=jlayton@poochiereds.net \
--cc=linux-ext4@vger.kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=linux-nvdimm@lists.01.org \
--cc=matthew.r.wilcox@intel.com \
--cc=mingo@redhat.com \
--cc=tglx@linutronix.de \
--cc=tytso@mit.edu \
--cc=viro@zeniv.linux.org.uk \
--cc=willy@linux.intel.com \
--cc=x86@kernel.org \
--cc=xfs@oss.sgi.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
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.