Re: [dm-devel] [PATCH v6 4/6] dm, dax: Add dax zero_page_range operation

2020-04-02 Thread Dan Williams
On Tue, Mar 31, 2020 at 12:34 PM Dan Williams wrote: > > [ Add Mike ] > > On Fri, Feb 28, 2020 at 8:35 AM Vivek Goyal wrote: > > > > This patch adds support for dax zero_page_range operation to dm targets. > > Mike, > > Sorry, I should have pinged you earlier,

Re: [dm-devel] [PATCH] memcpy_flushcache: use cache flusing for larger lengths

2020-04-07 Thread Dan Williams
On Tue, Apr 7, 2020 at 8:02 AM Mikulas Patocka wrote: > > [ resending this to x86 maintainers ] > > Hi > > I tested performance of various methods how to write to optane-based > persistent memory, and found out that non-temporal stores achieve > throughput 1.3 GB/s. 8 cached stores immediatelly fo

Re: [dm-devel] [PATCH] memcpy_flushcache: use cache flusing for larger lengths

2020-04-08 Thread Dan Williams
On Wed, Apr 8, 2020 at 11:54 AM Mikulas Patocka wrote: > > > > On Tue, 7 Apr 2020, Dan Williams wrote: > > > On Tue, Apr 7, 2020 at 8:02 AM Mikulas Patocka wrote: > > > > > > [ resending this to x86 maintainers ] > > > > > > Hi > >

Re: [dm-devel] [PATCH] memcpy_flushcache: use cache flusing for larger lengths

2020-04-16 Thread Dan Williams
On Thu, Apr 16, 2020 at 1:24 AM Mikulas Patocka wrote: > > > > On Thu, 9 Apr 2020, Mikulas Patocka wrote: > > > With dm-writecache on emulated pmem (with the memmap argument), we get > > > > With the original kernel: > > 8508 - 11378 > > real0m4.960s > > user0m0.638s > > sys 0m4.312s >

Re: [dm-devel] [PATCH] x86: introduce memcpy_flushcache_clflushopt

2020-04-17 Thread Dan Williams
On Fri, Apr 17, 2020 at 5:47 AM Mikulas Patocka wrote: > > > > On Thu, 16 Apr 2020, Dan Williams wrote: > > > On Thu, Apr 16, 2020 at 1:24 AM Mikulas Patocka wrote: > > > > > > > > > > > > On Thu, 9 Apr 2020, Mikulas Patocka wrote: &g

Re: [dm-devel] [PATCH] x86: introduce memcpy_flushcache_clflushopt

2020-04-19 Thread Dan Williams
On Sun, Apr 19, 2020 at 10:49 AM David Laight wrote: > > From: Mikulas Patocka > > Sent: 18 April 2020 16:21 > > > > On Sat, 18 Apr 2020, David Laight wrote: > > > > > From: Mikulas Patocka > > > > Sent: 17 April 2020 13:47 > > > ... > > > > Index: linux-2.6/drivers/md/dm-writecache.c > > > >

Re: [dm-devel] [PATCH v2] x86: introduce memcpy_flushcache_single

2020-04-21 Thread Dan Williams
On Mon, Apr 20, 2020 at 6:48 AM Mikulas Patocka wrote: > > > > On Fri, 17 Apr 2020, Thomas Gleixner wrote: > > > Dan Williams writes: > > > > > The goal of naming it _inatomic() was specifically for the observation > > > that your driver coordi

Re: [dm-devel] [PATCH 16/20] block: move ->make_request_fn to struct block_device_operations

2020-07-01 Thread Dan Williams
| 5 +- > drivers/nvdimm/pmem.c | 5 +- For drivers/nvdimm Acked-by: Dan Williams -- dm-devel mailing list dm-devel@redhat.com https://www.redhat.com/mailman/listinfo/dm-devel

[dm-devel] [PATCH v2] dm: Call proper helper to determine dax support

2020-09-17 Thread Dan Williams
ge for dax_supported check to span multiple devices") Cc: Tested-by: Adrian Huang Signed-off-by: Jan Kara Acked-by: Mike Snitzer Signed-off-by: Dan Williams --- Changes since v1 [1]: - Add missing dax_read_lock() around dax_supported() [1]: http://lore.kernel.org/r/20200916151445.450-1-j

Re: [dm-devel] [PATCH v2] dm: Call proper helper to determine dax support

2020-09-18 Thread Dan Williams
On Fri, Sep 18, 2020 at 8:31 AM Darrick J. Wong wrote: > > On Thu, Sep 17, 2020 at 10:30:03PM -0700, Dan Williams wrote: > > From: Jan Kara > > > > DM was calling generic_fsdax_supported() to determine whether a device > > referenced in the DM table supports DAX

[dm-devel] [PATCH] dm/dax: Fix table reference counts

2020-09-18 Thread Dan Williams
sdair Kergon Cc: Mike Snitzer Reported-by: Adrian Huang Signed-off-by: Dan Williams --- drivers/md/dm.c |5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/md/dm.c b/drivers/md/dm.c index fb0255d25e4b..4a40df8af7d3 100644 --- a/drivers/md/dm.c +++ b/drivers/md/dm.c

[dm-devel] [PATCH v3] dm: Call proper helper to determine dax support

2020-09-18 Thread Dan Williams
ge for dax_supported check to span multiple devices") Cc: Tested-by: Adrian Huang Signed-off-by: Jan Kara Acked-by: Mike Snitzer Reported-by: kernel test robot Signed-off-by: Dan Williams --- Changes since v2 [1]: - Add dummy definitions for dax_read_{lock,unlock} in the CONFIG_DAX=n case

[dm-devel] [PATCH v4] dm: Call proper helper to determine dax support

2020-09-20 Thread Dan Williams
ge for dax_supported check to span multiple devices") Cc: Tested-by: Adrian Huang Signed-off-by: Jan Kara Acked-by: Mike Snitzer Reported-by: kernel test robot Signed-off-by: Dan Williams --- Changes since v3 [1]: - One more kbuild-robot report on dax_read_lock() needing to be gua

[dm-devel] libnvdimm fixes 5.9-rc6

2020-09-20 Thread Dan Williams
quiet the generic_fsdax_supported() path and make it bail out before logging "dax capability not found" errors. Adrian Huang (1): dax: Fix stack overflow when mounting fsdax pmem device Dan Williams (1): dm/dax:

Re: [dm-devel] [EXT] Re: [PATCH v2 00/22] add Object Storage Media Pool (mpool)

2020-10-21 Thread Dan Williams
On Wed, Oct 21, 2020 at 7:24 AM Mike Snitzer wrote: > > Hey Dan, > > On Fri, Oct 16, 2020 at 6:38 PM Dan Williams wrote: > > > > On Fri, Oct 16, 2020 at 2:59 PM Nabeel Meeramohideen Mohamed > > (nmeeramohide) wrote: > > > > > (5) Repre

[dm-devel] [PATCH] dax: Arrange for dax_supported check to span multiple devices

2019-05-14 Thread Dan Williams
ck-device...") Cc: Cc: Jan Kara Cc: Ira Weiny Cc: Dave Jiang Cc: Mike Snitzer Cc: Keith Busch Cc: Matthew Wilcox Cc: Vishal Verma Cc: Heiko Carstens Cc: Martin Schwidefsky Reported-by: Pankaj Gupta Signed-off-by: Dan Williams --- Hi Mike, Another day another new dax operation to allo

Re: [dm-devel] [PATCH v9 4/7] dm: enable synchronous dax

2019-05-15 Thread Dan Williams
[ add Mike and dm-devel ] Mike, any concerns with the below addition to the device-mapper-dax implementation? On Tue, May 14, 2019 at 7:58 AM Pankaj Gupta wrote: > > This patch sets dax device 'DAXDEV_SYNC' flag if all the target > devices of device mapper support synchrononous DAX. If device

Re: dax: Arrange for dax_supported check to span multiple devices

2019-05-16 Thread Dan Williams
On Thu, May 16, 2019 at 11:58 AM Mike Snitzer wrote: > > On Tue, May 14 2019 at 11:48pm -0400, > Dan Williams wrote: > > > Pankaj reports that starting with commit ad428cdb525a "dax: Check the > > end of the block-device capacity with dax_direct_access()" devi

Re: [PATCH v10 4/7] dm: enable synchronous dax

2019-05-31 Thread Dan Williams
On Tue, May 21, 2019 at 6:43 AM Pankaj Gupta wrote: > > This patch sets dax device 'DAXDEV_SYNC' flag if all the target > devices of device mapper support synchrononous DAX. If device > mapper consists of both synchronous and asynchronous dax devices, > we don't set 'DAXDEV_SYNC' flag. > > Sig

Re: [dm-devel] dm: fix dax_dev NULL dereference

2019-07-30 Thread Dan Williams
On Tue, Jul 30, 2019 at 12:07 PM Mike Snitzer wrote: > > I staged the fix (which I tweaked) here: > https://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm.git/commit/?h=dm-5.3&id=95b9ebb78c4c733f8912a195fbd0bc19960e726e Thanks for picking this up Mike, but I'd prefer to just teach

Re: dm: fix dax_dev NULL dereference

2019-07-30 Thread Dan Williams
On Tue, Jul 30, 2019 at 3:01 PM Mike Snitzer wrote: > > On Tue, Jul 30 2019 at 5:38pm -0400, > Dan Williams wrote: > > > On Tue, Jul 30, 2019 at 12:07 PM Mike Snitzer wrote: > > > > > > I staged the fix (which I tweaked) here: > > > https://git.kern

Re: [dm-devel] [PATCH 1/5] dax, pmem: Add a dax operation zero_page_range

2020-02-05 Thread Dan Williams
On Wed, Feb 5, 2020 at 12:03 PM Vivek Goyal wrote: > > On Wed, Feb 05, 2020 at 10:30:50AM -0800, Christoph Hellwig wrote: > > > + /* > > > +* There are no users as of now. Once users are there, fix dm code > > > +* to be able to split a long range across targets. > > > +*/ > > > > Th

Re: [dm-devel] [PATCH 1/5] dax, pmem: Add a dax operation zero_page_range

2020-02-07 Thread Dan Williams
On Wed, Feb 5, 2020 at 11:41 PM Christoph Hellwig wrote: > > On Wed, Feb 05, 2020 at 04:40:44PM -0800, Dan Williams wrote: > > > I don't have any reason not to pass phys_addr_t. If that sounds better, > > > will make changes. > > > > The problem is device-

Re: [dm-devel] [PATCH 1/5] dax, pmem: Add a dax operation zero_page_range

2020-02-07 Thread Dan Williams
On Thu, Feb 6, 2020 at 6:35 AM Vivek Goyal wrote: > > On Wed, Feb 05, 2020 at 04:40:44PM -0800, Dan Williams wrote: > > On Wed, Feb 5, 2020 at 12:03 PM Vivek Goyal wrote: > > > > > > On Wed, Feb 05, 2020 at 10:30:50AM -0800, Christoph Hellwig wrote: > > > &

Re: [dm-devel] [PATCH 1/5] dax, pmem: Add a dax operation zero_page_range

2020-02-07 Thread Dan Williams
On Fri, Feb 7, 2020 at 9:02 AM Vivek Goyal wrote: > > On Fri, Feb 07, 2020 at 08:57:39AM -0800, Dan Williams wrote: > > On Wed, Feb 5, 2020 at 11:41 PM Christoph Hellwig > > wrote: > > > > > > On Wed, Feb 05, 2020 at 04:40:44PM -0800, Dan Williams wrote: >

Re: [dm-devel] [PATCH v5 2/8] drivers/pmem: Allow pmem_clear_poison() to accept arbitrary offset and len

2020-02-21 Thread Dan Williams
On Fri, Feb 21, 2020 at 12:18 PM Vivek Goyal wrote: > > On Fri, Feb 21, 2020 at 01:32:48PM -0500, Jeff Moyer wrote: > > Vivek Goyal writes: > > > > > On Thu, Feb 20, 2020 at 04:35:17PM -0500, Jeff Moyer wrote: > > >> Vivek Goyal writes: > > >> > > >> > Currently pmem_clear_poison() expects offse

Re: [dm-devel] [PATCH v5 2/8] drivers/pmem: Allow pmem_clear_poison() to accept arbitrary offset and len

2020-02-21 Thread Dan Williams
On Fri, Feb 21, 2020 at 1:25 PM Vivek Goyal wrote: > > On Fri, Feb 21, 2020 at 01:00:29PM -0800, Dan Williams wrote: > > On Fri, Feb 21, 2020 at 12:18 PM Vivek Goyal wrote: > > > > > > On Fri, Feb 21, 2020 at 01:32:48PM -0500, Jeff Moyer wrote: > > > >

Re: [dm-devel] [PATCH v5 2/8] drivers/pmem: Allow pmem_clear_poison() to accept arbitrary offset and len

2020-02-23 Thread Dan Williams
On Sun, Feb 23, 2020 at 3:03 PM Dave Chinner wrote: > > On Fri, Feb 21, 2020 at 03:17:59PM -0500, Vivek Goyal wrote: > > On Fri, Feb 21, 2020 at 01:32:48PM -0500, Jeff Moyer wrote: > > > Vivek Goyal writes: > > > > > > > On Thu, Feb 20, 2020 at 04:35:17PM -0500, Jeff Moyer wrote: > > > >> Vivek G

Re: [dm-devel] [PATCH v5 2/8] drivers/pmem: Allow pmem_clear_poison() to accept arbitrary offset and len

2020-02-24 Thread Dan Williams
On Mon, Feb 24, 2020 at 5:50 AM Jeff Moyer wrote: > > Dan Williams writes: > > > On Sun, Feb 23, 2020 at 3:03 PM Dave Chinner wrote: > >> > >> On Fri, Feb 21, 2020 at 03:17:59PM -0500, Vivek Goyal wrote: > >> > On Fri, Feb 21, 2020 at 01:32:48PM

Re: [dm-devel] [PATCH v5 2/8] drivers/pmem: Allow pmem_clear_poison() to accept arbitrary offset and len

2020-02-24 Thread Dan Williams
On Mon, Feb 24, 2020 at 12:13 PM Vivek Goyal wrote: > > On Mon, Feb 24, 2020 at 10:03:30AM +1100, Dave Chinner wrote: > > On Fri, Feb 21, 2020 at 03:17:59PM -0500, Vivek Goyal wrote: > > > On Fri, Feb 21, 2020 at 01:32:48PM -0500, Jeff Moyer wrote: > > > > Vivek Goyal writes: > > > > > > > > > On

Re: [dm-devel] [PATCH v5 2/8] drivers/pmem: Allow pmem_clear_poison() to accept arbitrary offset and len

2020-02-24 Thread Dan Williams
On Mon, Feb 24, 2020 at 1:17 PM Vivek Goyal wrote: > > On Mon, Feb 24, 2020 at 12:52:13PM -0800, Dan Williams wrote: > > On Mon, Feb 24, 2020 at 12:13 PM Vivek Goyal wrote: > > > > > > On Mon, Feb 24, 2020 at 10:03:30AM +1100, Dave Chinner wrote: > > > >

Re: [dm-devel] [PATCH v5 2/8] drivers/pmem: Allow pmem_clear_poison() to accept arbitrary offset and len

2020-02-24 Thread Dan Williams
On Mon, Feb 24, 2020 at 1:53 PM Jeff Moyer wrote: > > Dan Williams writes: > > >> Let's just focus on reporting errors when we know we have them. > > > > That's the problem in my eyes. If software needs to contend with > > latent error rep

Re: [dm-devel] [PATCH v5 2/8] drivers/pmem: Allow pmem_clear_poison() to accept arbitrary offset and len

2020-02-25 Thread Dan Williams
On Tue, Feb 25, 2020 at 5:37 AM Vivek Goyal wrote: > > On Mon, Feb 24, 2020 at 01:32:58PM -0800, Dan Williams wrote: > > [..] > > > > > Ok, how about if I add one more patch to the series which will check > > > > > if unwritten portion of the page has kn

Re: [dm-devel] [PATCH v5 2/8] drivers/pmem: Allow pmem_clear_poison() to accept arbitrary offset and len

2020-02-25 Thread Dan Williams
On Tue, Feb 25, 2020 at 12:33 PM Jeff Moyer wrote: > > Dan Williams writes: > > > On Mon, Feb 24, 2020 at 1:53 PM Jeff Moyer wrote: > >> > >> Dan Williams writes: > >> > >> >> Let's just focus on reporting errors when we know

Re: [dm-devel] [PATCH v5 2/8] drivers/pmem: Allow pmem_clear_poison() to accept arbitrary offset and len

2020-02-25 Thread Dan Williams
On Tue, Feb 25, 2020 at 12:08 PM Vivek Goyal wrote: > > On Tue, Feb 25, 2020 at 08:25:27AM -0800, Dan Williams wrote: > > On Tue, Feb 25, 2020 at 5:37 AM Vivek Goyal wrote: > > > > > > On Mon, Feb 24, 2020 at 01:32:58PM -0800, Dan Williams wrote: > > > >

Re: [dm-devel] [PATCH v5 2/8] drivers/pmem: Allow pmem_clear_poison() to accept arbitrary offset and len

2020-02-26 Thread Dan Williams
On Wed, Feb 26, 2020 at 7:03 PM Dave Chinner wrote: > > On Mon, Feb 24, 2020 at 10:38:44AM -0500, Vivek Goyal wrote: > > On Mon, Feb 24, 2020 at 10:03:30AM +1100, Dave Chinner wrote: > > > > [..] > > > > > > Hi Jeff, > > > > > > > > > > > > New dax zeroing interface (dax_zero_page_range()) can tec

Re: [dm-devel] [PATCH v5 2/8] drivers/pmem: Allow pmem_clear_poison() to accept arbitrary offset and len

2020-02-27 Thread Dan Williams
On Thu, Feb 27, 2020 at 5:31 PM Dave Chinner wrote: > On Wed, Feb 26, 2020 at 08:19:37PM -0800, Dan Williams wrote: [..] > > So you want the FS to have error handling for just pmem errors or all > > memory errors? > > Just pmem errors in the specific range the filesystem

Re: [dm-devel] [PATCH v5 2/8] drivers/pmem: Allow pmem_clear_poison() to accept arbitrary offset and len

2020-02-28 Thread Dan Williams
On Fri, Feb 28, 2020 at 6:05 AM Christoph Hellwig wrote: > > On Thu, Feb 27, 2020 at 07:28:41PM -0800, Dan Williams wrote: > > "don't perform generic memory-error-handling, there's an fs that owns > > this daxdev and wants to disposition errors". The fs

Re: [dm-devel] [PATCH v6 4/6] dm, dax: Add dax zero_page_range operation

2020-03-31 Thread Dan Williams
[ Add Mike ] On Fri, Feb 28, 2020 at 8:35 AM Vivek Goyal wrote: > > This patch adds support for dax zero_page_range operation to dm targets. Mike, Sorry, I should have pinged you earlier, but could you take a look at this patch and ack it if it looks ok to go through the nvdimm tree with the re

Re: [dm-devel] [PATCH v5 4/8] dax, pmem: Add a dax operation zero_page_range

2020-03-31 Thread Dan Williams
On Tue, Feb 18, 2020 at 1:49 PM Vivek Goyal wrote: > > Add a dax operation zero_page_range, to zero a range of memory. This will > also clear any poison in the range being zeroed. > > As of now, zeroing of up to one page is allowed in a single call. There > are no callers which are trying to zero

Re: [dm-devel] [PATCH v2] memcpy_flushcache: use cache flusing for larger lengths

2020-03-31 Thread Dan Williams
[ add x86 and LKML ] On Tue, Mar 31, 2020 at 5:27 AM Mikulas Patocka wrote: > > > > On Tue, 31 Mar 2020, Elliott, Robert (Servers) wrote: > > > > > > > > -Original Message- > > > From: Mikulas Patocka > > > Sent: Monday, March

Re: [dm-devel] [PATCH v2 11/33] dm: add dax_device and dax_operations support

2017-04-15 Thread Dan Williams
[ adding some missing cc's ] Cover letter patch here: https://lists.01.org/pipermail/linux-nvdimm/2017-April/009648.html On Fri, Apr 14, 2017 at 7:34 PM, Dan Williams wrote: > Allocate a dax_device to represent the capacity of a device-mapper > instance. Provide a ->direct_acces

[dm-devel] [resend PATCH v2 01/33] device-dax: rename 'dax_dev' to 'dev_dax'

2017-04-17 Thread Dan Williams
al instance. Signed-off-by: Dan Williams --- drivers/dax/dax.c | 206 ++-- drivers/dax/dax.h |4 + drivers/dax/pmem.c |8 +- 3 files changed, 109 insertions(+), 109 deletions(-) diff --git a/drivers/dax/dax.c b/drivers/dax/dax.

[dm-devel] [resend PATCH v2 00/33] dax: introduce dax_operations

2017-04-17 Thread Dan Williams
by the 0day robot. All review welcome, but the patches that need extra attention are the device-mapper and uio changes (copy_from_iter_ops). This series is based on a merge of char-misc-next (for cdev api reworks) and libnvdimm-fixes (dax locking and __copy_user_nocache fixes). --- Dan William

[dm-devel] [resend PATCH v2 03/33] dax: add a facility to lookup a dax device by 'host' device name

2017-04-17 Thread Dan Williams
it is the bdev name. This is a stop-gap until filesystems are able to mount on a dax-inode directly. Signed-off-by: Dan Williams --- drivers/dax/dax.h|2 + drivers/dax/device.c |2 + drivers/dax/super.c | 83 -- include/linux/dax.h |

[dm-devel] [resend PATCH v2 02/33] dax: refactor dax-fs into a generic provider of 'struct dax_device' instances

2017-04-17 Thread Dan Williams
layers a filesystem on top of that same base device. Filesystem DAX is associated with a block_device for now, but perhaps directly to a dax device in the future, or for new pmem-only filesystems. [1]: https://lkml.org/lkml/2017/1/19/880 Suggested-by: Christoph Hellwig Signed-off

[dm-devel] [resend PATCH v2 04/33] dax: introduce dax_operations

2017-04-17 Thread Dan Williams
dax-driver and teach fs/dax.c to use ->direct_access() from dax_operations instead of block_device_operations. Suggested-by: Christoph Hellwig Signed-off-by: Dan Williams --- drivers/dax/dax.h|4 +++- drivers/dax/device.c |6 +- drivers/dax/super.c |6 +- includ

[dm-devel] [resend PATCH v2 05/33] pmem: add dax_operations support

2017-04-17 Thread Dan Williams
Setup a dax_device to have the same lifetime as the pmem block device and add a ->direct_access() method that is equivalent to pmem_direct_access(). Once fs/dax.c has been converted to use dax_operations the old pmem_direct_access() will be removed. Signed-off-by: Dan Williams --- drivers/

[dm-devel] [resend PATCH v2 08/33] dcssblk: add dax_operations support

2017-04-17 Thread Dan Williams
Setup a dax_dev to have the same lifetime as the dcssblk block device and add a ->direct_access() method that is equivalent to dcssblk_direct_access(). Once fs/dax.c has been converted to use dax_operations the old dcssblk_direct_access() will be removed. Cc: Gerald Schaefer Signed-off-by:

[dm-devel] [resend PATCH v2 09/33] block: kill bdev_dax_capable()

2017-04-17 Thread Dan Williams
This is leftover dead code that has since been replaced by bdev_dax_supported(). Signed-off-by: Dan Williams --- fs/block_dev.c | 24 include/linux/blkdev.h |1 - 2 files changed, 25 deletions(-) diff --git a/fs/block_dev.c b/fs/block_dev.c index

[dm-devel] [resend PATCH v2 06/33] axon_ram: add dax_operations support

2017-04-17 Thread Dan Williams
Setup a dax_device to have the same lifetime as the axon_ram block device and add a ->direct_access() method that is equivalent to axon_ram_direct_access(). Once fs/dax.c has been converted to use dax_operations the old axon_ram_direct_access() will be removed. Signed-off-by: Dan Willi

[dm-devel] [resend PATCH v2 07/33] brd: add dax_operations support

2017-04-17 Thread Dan Williams
Setup a dax_inode to have the same lifetime as the brd block device and add a ->direct_access() method that is equivalent to brd_direct_access(). Once fs/dax.c has been converted to use dax_operations the old brd_direct_access() will be removed. Signed-off-by: Dan Williams --- drivers/bl

[dm-devel] [resend PATCH v2 10/33] dax: introduce dax_direct_access()

2017-04-17 Thread Dan Williams
can cause dax page alignment constraints to be violated this also introduces the bdev_dax_pgoff() helper. It handles calculating a logical pgoff relative to the dax_device and also checks for page alignment. Signed-off-by: Dan Williams --- block/Kconfig |1 + drivers/dax/super.c

[dm-devel] [resend PATCH v2 11/33] dm: add dax_device and dax_operations support

2017-04-17 Thread Dan Williams
ess implementations is deferred to a separate patch. Cc: Toshi Kani Cc: Mike Snitzer Signed-off-by: Dan Williams --- drivers/md/Kconfig|1 drivers/md/dm-core.h |1 drivers/md/dm.c | 84 ++--- include/linux/device-mappe

[dm-devel] [resend PATCH v2 13/33] ext2, ext4, xfs: retrieve dax_device for iomap operations

2017-04-17 Thread Dan Williams
In preparation for converting fs/dax.c to use dax_direct_access() instead of bdev_direct_access(), add the plumbing to retrieve the dax_device associated with a given block_device. Signed-off-by: Dan Williams --- fs/ext2/inode.c |9 - fs/ext4/inode.c |9 - fs

[dm-devel] [resend PATCH v2 14/33] Revert "block: use DAX for partition table reads"

2017-04-17 Thread Dan Williams
he removal of bdev_direct_access() and should have been included in commit 223757016837 ("block_dev: remove DAX leftovers"). Cc: Jeff Moyer Signed-off-by: Dan Williams --- block/partition-generic.c | 17 ++--- fs/dax.c | 20 include/l

[dm-devel] [resend PATCH v2 12/33] dm: teach dm-targets to use a dax_device + dax_operations

2017-04-17 Thread Dan Williams
alling convention. Cc: Toshi Kani Cc: Mike Snitzer Signed-off-by: Dan Williams --- drivers/md/dm-linear.c| 27 +-- drivers/md/dm-snap.c |6 +++--- drivers/md/dm-stripe.c| 29 ++--- drivers/md/dm-target.c

[dm-devel] [resend PATCH v2 15/33] filesystem-dax: convert to dax_direct_access()

2017-04-17 Thread Dan Williams
off-by: Dan Williams --- fs/dax.c| 277 +-- fs/iomap.c |3 - include/linux/dax.h |6 + 3 files changed, 162 insertions(+), 124 deletions(-) diff --git a/fs/dax.c b/fs/dax.c index b78a6947c4f5..ce9dc9c3e829 100644 --- a

[dm-devel] [resend PATCH v2 17/33] block: remove block_device_operations ->direct_access()

2017-04-17 Thread Dan Williams
Now that all the producers and consumers of dax interfaces have been converted to using dax_operations on a dax_device, remove the block device direct_access enabling. Signed-off-by: Dan Williams --- arch/powerpc/sysdev/axonram.c | 23 - drivers/block/brd.c

[dm-devel] [resend PATCH v2 19/33] dax, pmem: introduce 'copy_from_iter' dax operation

2017-04-17 Thread Dan Williams
ject cache management without imposing this overhead on other dax capable block_device drivers. This is also a first step of moving all architecture-specific pmem-operations to the pmem driver. Cc: Jan Kara Cc: Jeff Moyer Cc: Christoph Hellwig Cc: Al Viro Cc: Matthew Wilcox Cc: Ross Zwisler Signed-o

[dm-devel] [resend PATCH v2 20/33] dm: add ->copy_from_iter() dax operation support

2017-04-17 Thread Dan Williams
. This conceptually allows for an array of mixed device drivers with varying copy_from_iter implementations. Cc: Toshi Kani Cc: Mike Snitzer Signed-off-by: Dan Williams --- drivers/dax/super.c | 13 + drivers/md/dm-linear.c| 15 +++ drivers/md/dm

[dm-devel] [resend PATCH v2 16/33] block, dax: convert bdev_dax_supported() to dax_direct_access()

2017-04-17 Thread Dan Williams
Kill of the final user of bdev_direct_access() and struct blk_dax_ctl. Signed-off-by: Dan Williams --- fs/block_dev.c | 48 1 file changed, 28 insertions(+), 20 deletions(-) diff --git a/fs/block_dev.c b/fs/block_dev.c index 2f7885712575

[dm-devel] [resend PATCH v2 18/33] x86, dax, pmem: remove indirection around memcpy_from_pmem()

2017-04-17 Thread Dan Williams
: Matthew Wilcox Cc: Ross Zwisler Signed-off-by: Dan Williams --- arch/x86/include/asm/pmem.h |5 - arch/x86/include/asm/string_64.h |1 + drivers/acpi/nfit/core.c |3 +-- drivers/nvdimm/claim.c |2 +- drivers/nvdimm/pmem.c|2 +-

[dm-devel] [resend PATCH v2 21/33] filesystem-dax: convert to dax_copy_from_iter()

2017-04-17 Thread Dan Williams
Now that all possible providers of the dax_operations copy_from_iter method are implemented, switch filesytem-dax to call the driver rather than copy_to_iter_pmem. Signed-off-by: Dan Williams --- arch/x86/include/asm/pmem.h | 50 --- fs/dax.c

[dm-devel] [resend PATCH v2 23/33] dm: add ->flush() dax operation support

2017-04-17 Thread Dan Williams
conceptually allows for an array of mixed device drivers with varying flush implementations. Cc: Toshi Kani Cc: Mike Snitzer Signed-off-by: Dan Williams --- drivers/dax/super.c | 11 +++ drivers/md/dm-linear.c| 15 +++ drivers/md/dm-stripe.c| 20

[dm-devel] [resend PATCH v2 25/33] x86, dax: replace clear_pmem() with open coded memset + dax_ops->flush

2017-04-17 Thread Dan Williams
cache management completely defined within the pmem driver. Cc: Cc: Jan Kara Cc: Jeff Moyer Cc: Ingo Molnar Cc: Christoph Hellwig Cc: "H. Peter Anvin" Cc: Thomas Gleixner Cc: Matthew Wilcox Cc: Ross Zwisler Signed-off-by: Dan Williams --- arch/x86/include/asm/pme

[dm-devel] [resend PATCH v2 22/33] dax, pmem: introduce an optional 'flush' dax_operation

2017-04-17 Thread Dan Williams
ed down by the bus / libnvdimm. Cc: Christoph Hellwig Cc: Matthew Wilcox Cc: Ross Zwisler Signed-off-by: Dan Williams --- drivers/nvdimm/pmem.c | 11 +++ include/linux/dax.h |2 ++ 2 files changed, 13 insertions(+) diff --git a/drivers/nvdimm/pmem.c b/drivers/nvdimm/pm

[dm-devel] [resend PATCH v2 24/33] filesystem-dax: convert to dax_flush()

2017-04-17 Thread Dan Williams
method. We still do all the dirty tracking since the radix entry will already be there for locking purposes. However, the work to clean the entry will be a nop for some dax drivers. Cc: Jan Kara Cc: Jeff Moyer Cc: Christoph Hellwig Cc: Matthew Wilcox Cc: Ross Zwisler Signed-off-by: Dan

[dm-devel] [resend PATCH v2 26/33] x86, dax, libnvdimm: move wb_cache_pmem() to libnvdimm

2017-04-17 Thread Dan Williams
archs in the future. Cc: Cc: Jan Kara Cc: Jeff Moyer Cc: Ingo Molnar Cc: Christoph Hellwig Cc: "H. Peter Anvin" Cc: Thomas Gleixner Cc: Oliver O'Halloran Cc: Matthew Wilcox Cc: Ross Zwisler Signed-off-by: Dan Williams --- arch/x86/include/asm/pmem.h | 21 ---

[dm-devel] [resend PATCH v2 27/33] x86, libnvdimm, pmem: move arch_invalidate_pmem() to libnvdimm

2017-04-17 Thread Dan Williams
Kill this globally defined wrapper and move to libnvdimm so that we can ultimately remove the public pmem api. Cc: Cc: Jan Kara Cc: Jeff Moyer Cc: Ingo Molnar Cc: Christoph Hellwig Cc: "H. Peter Anvin" Cc: Thomas Gleixner Cc: Matthew Wilcox Cc: Ross Zwisler Signed-off-by: Da

[dm-devel] [resend PATCH v2 29/33] uio, libnvdimm, pmem: implement cache bypass for all copy_from_iter() operations

2017-04-17 Thread Dan Williams
: Toshi Kani Cc: Al Viro Cc: Matthew Wilcox Cc: Ross Zwisler Cc: Linus Torvalds Signed-off-by: Dan Williams --- drivers/nvdimm/Kconfig |1 + drivers/nvdimm/pmem.c | 38 +- drivers/nvdimm/pmem.h |7 +++ drivers/nvdimm/x86.c | 48

[dm-devel] [resend PATCH v2 31/33] libnvdimm, nfit: enable support for volatile ranges

2017-04-17 Thread Dan Williams
gt;flush() operation in the pmem driver when it is hosted on a volatile range. Cc: Jan Kara Cc: Jeff Moyer Cc: Christoph Hellwig Cc: Matthew Wilcox Cc: Ross Zwisler Signed-off-by: Dan Williams --- drivers/acpi/nfit/core.c|9 - drivers/nvdimm/bus.c| 10 +++

[dm-devel] [resend PATCH v2 32/33] filesystem-dax: gate calls to dax_flush() on QUEUE_FLAG_WC

2017-04-17 Thread Dan Williams
dirty tracking. Userspace can override the default cache setting via the block device queue "write_cache" attribute in sysfs. Cc: Jan Kara Cc: Jeff Moyer Cc: Christoph Hellwig Cc: Matthew Wilcox Cc: Ross Zwisler Signed-off-by: Dan Williams --- fs/dax.c |6 -- 1 file

[dm-devel] [resend PATCH v2 28/33] x86, libnvdimm, dax: stop abusing __copy_user_nocache

2017-04-17 Thread Dan Williams
HAS_PMEM_API is also moved local to libnvdimm to be next to the implementation. Cc: Cc: Jan Kara Cc: Jeff Moyer Cc: Ingo Molnar Cc: Christoph Hellwig Cc: Toshi Kani Cc: Tony Luck Cc: "H. Peter Anvin" Cc: Al Viro Cc: Thomas Gleixner Cc: Oliver O'Halloran Cc: Matthew Wilc

[dm-devel] [resend PATCH v2 30/33] libnvdimm, pmem: fix persistence warning

2017-04-17 Thread Dan Williams
need to warn if the architecture does not claim pmem support. Cc: Jan Kara Cc: Jeff Moyer Cc: Christoph Hellwig Cc: Matthew Wilcox Cc: Ross Zwisler Signed-off-by: Dan Williams --- drivers/nvdimm/region_devs.c |5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers

[dm-devel] [resend PATCH v2 33/33] libnvdimm, pmem: disable dax flushing when pmem is fronting a volatile region

2017-04-17 Thread Dan Williams
Cc: Christoph Hellwig Cc: Matthew Wilcox Cc: Ross Zwisler Signed-off-by: Dan Williams --- drivers/nvdimm/pmem.c|9 +++-- drivers/nvdimm/region_devs.c |6 ++ include/linux/libnvdimm.h|1 + 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/drivers

Re: [dm-devel] [resend PATCH v2 08/33] dcssblk: add dax_operations support

2017-04-19 Thread Dan Williams
On Wed, Apr 19, 2017 at 8:31 AM, Gerald Schaefer wrote: > On Mon, 17 Apr 2017 12:09:32 -0700 > Dan Williams wrote: > >> Setup a dax_dev to have the same lifetime as the dcssblk block device >> and add a ->direct_access() method that is equivalent to >> dcssblk_dire

[dm-devel] [PATCH v3] axon_ram: add dax_operations support

2017-04-19 Thread Dan Williams
fer Signed-off-by: Dan Williams --- Changes since v2: * fix return code in the alloc_dax() failure case (Gerald) arch/powerpc/platforms/Kconfig |1 + arch/powerpc/sysdev/axonram.c | 48 +++- 2 files changed, 43 insertions(+), 6 deletions(-) diff --git a/a

[dm-devel] [PATCH v3] dax: add a facility to lookup a dax device by 'host' device name

2017-04-19 Thread Dan Williams
it is the bdev name. This is a stop-gap until filesystems are able to mount on a dax-inode directly. Signed-off-by: Dan Williams --- Changes since v2: * fixed slab corruption due to non-null dax_dev->host at dax_i_callback() time drivers/dax/dax.h|2 + drivers/dax/device.c |2 +

[dm-devel] [PATCH v3] dcssblk: add dax_operations support

2017-04-19 Thread Dan Williams
off-by: Dan Williams --- Changes since v2: * fix return code in the alloc_dax() failure case (Gerald) * assign dax_dev to dev_info and kill local variable (Gerald) drivers/s390/block/Kconfig |1 + drivers/s390/block/dcssblk.c | 55 +++--- 2 files chan

Re: [dm-devel] [PATCH v3] axon_ram: add dax_operations support

2017-04-19 Thread Dan Williams
> > url: > https://github.com/0day-ci/linux/commits/Dan-Williams/axon_ram-add-dax_operations-support/20170420-091615 > base: https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git next Hi kbuild team, yes this is the wrong base. It's part of a larger series [1] and I&

Re: [dm-devel] [resend PATCH v2 11/33] dm: add dax_device and dax_operations support

2017-04-20 Thread Dan Williams
On Mon, Apr 17, 2017 at 12:09 PM, Dan Williams wrote: > Allocate a dax_device to represent the capacity of a device-mapper > instance. Provide a ->direct_access() method via the new dax_operations > indirection that mirrors the functionality of the current direct_access &

Re: [dm-devel] [resend PATCH v2 00/33] dax: introduce dax_operations

2017-04-23 Thread Dan Williams
vdimm/nvdimm.git/log/?h=libnvdimm-for-4.12-merge If it causes any other problems just drop and I'll retry for 4.13. On Mon, Apr 17, 2017 at 12:08 PM, Dan Williams wrote: > [ resend to add dm-devel, linux-block, and fs-devel, apologies for the > duplicates ] > > Changes since v1 [1]

Re: [dm-devel] [PATCH] block: get rid of blk_integrity_revalidate()

2017-04-23 Thread Dan Williams
rivers that call blk_integrity_register() and >> use integrity infrastructure won't interfere with drivers that don't >> but still want stable pages. > > I seem to recall that the reason for the revalidate hook was that either > NVMe or nvdimm had to register an int

Re: [dm-devel] [resend PATCH v2 00/33] dax: introduce dax_operations

2017-04-25 Thread Dan Williams
On Fri, Apr 21, 2017 at 6:06 PM, Dan Williams wrote: > [ adding akpm, sfr, and jens ] > > I applied this series and pushed it out for the nvdimm.git branch that > gets auto pulled into -next. The set is still awaiting acks from > device-mapper, ext4, xfs, and vfs (for the cop

[dm-devel] [PATCH v3 03/14] filesystem-dax: convert to dax_copy_from_iter()

2017-06-09 Thread Dan Williams
Now that all possible providers of the dax_operations copy_from_iter method are implemented, switch filesytem-dax to call the driver rather than copy_to_iter_pmem. Signed-off-by: Dan Williams --- arch/x86/include/asm/pmem.h | 50 --- fs/dax.c

[dm-devel] [PATCH v3 02/14] dm: add ->copy_from_iter() dax operation support

2017-06-09 Thread Dan Williams
. This conceptually allows for an array of mixed device drivers with varying copy_from_iter implementations. Cc: Toshi Kani Reviewed-by: Mike Snitzer Signed-off-by: Dan Williams --- drivers/dax/super.c | 13 + drivers/md/dm-linear.c| 15 +++ drivers

[dm-devel] [PATCH v3 05/14] dm: add ->flush() dax operation support

2017-06-09 Thread Dan Williams
conceptually allows for an array of mixed device drivers with varying flush implementations. Cc: Toshi Kani Reviewed-by: Mike Snitzer Signed-off-by: Dan Williams --- drivers/dax/super.c | 11 +++ drivers/md/dm-linear.c| 15 +++ drivers/md/dm-stripe.c

[dm-devel] [PATCH v3 00/14] pmem: stop abusing __copy_user_nocache(), and other reworks

2017-06-09 Thread Dan Williams
ption to force this behavior by writing to the $bdev/queue/write_cache attribute in sysfs. [3]: https://lists.01.org/pipermail/linux-nvdimm/2017-January/008364.html This series is based on v4.12-rc4 and passes the current ndctl regression suite. --- Dan Williams (14): x86, uaccess: int

[dm-devel] [PATCH v3 06/14] filesystem-dax: convert to dax_flush()

2017-06-09 Thread Dan Williams
method. We still do all the dirty tracking since the radix entry will already be there for locking purposes. However, the work to clean the entry will be a nop for some dax drivers. Cc: Jan Kara Cc: Jeff Moyer Cc: Christoph Hellwig Cc: Matthew Wilcox Cc: Ross Zwisler Signed-off-by: Dan

[dm-devel] [PATCH v3 08/14] x86, dax, libnvdimm: move wb_cache_pmem() to libnvdimm

2017-06-09 Thread Dan Williams
future. Cc: Cc: Jan Kara Cc: Jeff Moyer Cc: Ingo Molnar Cc: Christoph Hellwig Cc: "H. Peter Anvin" Cc: Thomas Gleixner Cc: Oliver O'Halloran Cc: Matthew Wilcox Cc: Ross Zwisler Signed-off-by: Dan Williams --- arch/x86/include/asm/pmem.h | 18 +- a

[dm-devel] [PATCH v3 09/14] x86, libnvdimm, pmem: move arch_invalidate_pmem() to libnvdimm

2017-06-09 Thread Dan Williams
Kill this globally defined wrapper and move to libnvdimm so that we can ultimately remove include/linux/pmem.h. Cc: Cc: Jan Kara Cc: Jeff Moyer Cc: Ingo Molnar Cc: Christoph Hellwig Cc: "H. Peter Anvin" Cc: Thomas Gleixner Cc: Matthew Wilcox Cc: Ross Zwisler Signed-off-by: Da

[dm-devel] [PATCH v3 11/14] libnvdimm, pmem: fix persistence warning

2017-06-09 Thread Dan Williams
need to warn if the architecture does not claim pmem support. Cc: Jan Kara Cc: Jeff Moyer Cc: Christoph Hellwig Cc: Matthew Wilcox Cc: Ross Zwisler Signed-off-by: Dan Williams --- drivers/nvdimm/region_devs.c |5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers

[dm-devel] [PATCH v3 04/14] dax, pmem: introduce an optional 'flush' dax_operation

2017-06-09 Thread Dan Williams
ed down by the bus / libnvdimm. Cc: Christoph Hellwig Cc: Matthew Wilcox Cc: Ross Zwisler Signed-off-by: Dan Williams --- drivers/nvdimm/pmem.c |7 +++ include/linux/dax.h |2 ++ 2 files changed, 9 insertions(+) diff --git a/drivers/nvdimm/pmem.c b/drivers/nvdimm/pmem.c index 2f

[dm-devel] [PATCH v3 01/14] x86, uaccess: introduce copy_from_iter_flushcache for pmem / cache-bypass operations

2017-06-09 Thread Dan Williams
Cc: "H. Peter Anvin" Cc: Al Viro Cc: Thomas Gleixner Cc: Matthew Wilcox Reviewed-by: Ross Zwisler Signed-off-by: Dan Williams --- arch/x86/Kconfig |1 arch/x86/include/asm/string_64.h |5 + arch/x86/include/asm/uaccess_64

[dm-devel] [PATCH v3 07/14] x86, dax: replace clear_pmem() with open coded memset + dax_ops->flush

2017-06-09 Thread Dan Williams
cache management completely defined within the pmem driver. Cc: Cc: Jan Kara Cc: Jeff Moyer Cc: Ingo Molnar Cc: Christoph Hellwig Cc: "H. Peter Anvin" Cc: Thomas Gleixner Cc: Matthew Wilcox Cc: Ross Zwisler Signed-off-by: Dan Williams --- arch/x86/include/asm/pme

[dm-devel] [PATCH v3 14/14] libnvdimm, pmem: disable dax flushing when pmem is fronting a volatile region

2017-06-09 Thread Dan Williams
Cc: Christoph Hellwig Cc: Matthew Wilcox Cc: Ross Zwisler Signed-off-by: Dan Williams --- drivers/nvdimm/pmem.c| 13 - drivers/nvdimm/region_devs.c |6 ++ include/linux/libnvdimm.h|1 + 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/drivers

[dm-devel] [PATCH v3 12/14] libnvdimm, nfit: enable support for volatile ranges

2017-06-09 Thread Dan Williams
gt;flush() operation in the pmem driver when it is hosted on a volatile range. Cc: Jan Kara Cc: Jeff Moyer Cc: Christoph Hellwig Cc: Matthew Wilcox Cc: Ross Zwisler Signed-off-by: Dan Williams --- drivers/acpi/nfit/core.c|9 - drivers/nvdimm/bus.c|8 +

[dm-devel] [PATCH v3 13/14] filesystem-dax: gate calls to dax_flush() on QUEUE_FLAG_WC

2017-06-09 Thread Dan Williams
dirty tracking. Userspace can override the default cache setting via the block device queue "write_cache" attribute in sysfs. Cc: Jan Kara Cc: Jeff Moyer Cc: Christoph Hellwig Cc: Matthew Wilcox Cc: Ross Zwisler Signed-off-by: Dan Williams --- fs/dax.c |6 -- 1 file

[dm-devel] [PATCH v3 10/14] pmem: remove global pmem api

2017-06-09 Thread Dan Williams
Now that all callers of the pmem api have been converted to dax helpers that call back to the pmem driver, we can remove include/linux/pmem.h. Cc: Cc: Jan Kara Cc: Jeff Moyer Cc: Ingo Molnar Cc: Christoph Hellwig Cc: Toshi Kani Cc: Oliver O'Halloran Cc: Ross Zwisler Signed-off-by

  1   2   3   4   >