From: Vivek Goyal <vgoyal@redhat.com> To: linux-fsdevel@vger.kernel.org, linux-nvdimm@lists.01.org, dan.j.williams@intel.com, hch@infradead.org Cc: vgoyal@redhat.com, vishal.l.verma@intel.com, dm-devel@redhat.com Subject: [RFC PATCH 0/5][V2] dax,pmem: Provide a dax operation to zero range of memory Date: Mon, 3 Feb 2020 15:00:24 -0500 Message-ID: <20200203200029.4592-1-vgoyal@redhat.com> (raw) Hi, This is V2 of patches. I posted V1 here. https://lore.kernel.org/linux-fsdevel/20200123165249.GA7664@redhat.com/ Changes since V1. - Took care of feedback from Christoph. - Made ->zero_page_range() mandatory operation. - Provided a generic helper to zero range for non-pmem drivers. - Merged __dax_zero_page_range() and iomap_dax_zero() - Made changes to dm drivers. - Limited range zeroing to with-in single page. - Tested patches with real hardware. description ----------- This is an RFC patch series to provide a dax operation to zero a range of memory. It will also clear poison in the process. Motivation from this patch comes from Christoph's feedback that he will rather prefer a dax way to zero a range instead of relying on having to call blkdev_issue_zeroout() in __dax_zero_page_range(). https://lkml.org/lkml/2019/8/26/361 My motivation for this change is virtiofs DAX support. There we use DAX but we don't have a block device. So any dax code which has the assumption that there is always a block device associated is a problem. So this is more of a cleanup of one of the places where dax has this dependency on block device and if we add a dax operation for zeroing a range, it can help with not having to call blkdev_issue_zeroout() in dax path. Thanks Vivek Vivek Goyal (5): dax, pmem: Add a dax operation zero_page_range s390,dax: Add dax zero_page_range operation to dcssblk driver dm,dax: Add dax zero_page_range operation dax,iomap: Start using dax native zero_page_range() dax,iomap: Add helper dax_iomap_zero() to zero a range drivers/dax/super.c | 20 ++++++++++++ drivers/md/dm-linear.c | 18 +++++++++++ drivers/md/dm-log-writes.c | 17 ++++++++++ drivers/md/dm-stripe.c | 23 ++++++++++++++ drivers/md/dm.c | 30 ++++++++++++++++++ drivers/nvdimm/pmem.c | 50 +++++++++++++++++++++++++++++ drivers/s390/block/dcssblk.c | 7 ++++ fs/dax.c | 60 ++++++++++++++--------------------- fs/iomap/buffered-io.c | 9 +----- include/linux/dax.h | 17 ++++++---- include/linux/device-mapper.h | 3 ++ 11 files changed, 204 insertions(+), 50 deletions(-) -- 2.18.1
next reply index Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-02-03 20:00 Vivek Goyal [this message] 2020-02-03 20:00 ` [PATCH 1/5] dax, pmem: Add a dax operation zero_page_range Vivek Goyal 2020-02-05 18:30 ` Christoph Hellwig 2020-02-05 20:02 ` Vivek Goyal 2020-02-06 0:40 ` Dan Williams 2020-02-06 7:41 ` Christoph Hellwig 2020-02-07 16:57 ` Dan Williams 2020-02-07 17:01 ` Vivek Goyal 2020-02-07 17:06 ` Dan Williams 2020-02-06 14:34 ` Vivek Goyal 2020-02-07 16:58 ` Dan Williams 2020-02-03 20:00 ` [PATCH 2/5] s390,dax: Add dax zero_page_range operation to dcssblk driver Vivek Goyal 2020-02-05 18:32 ` Christoph Hellwig 2020-02-05 20:04 ` Vivek Goyal 2020-02-03 20:00 ` [PATCH 3/5] dm,dax: Add dax zero_page_range operation Vivek Goyal 2020-02-05 18:33 ` Christoph Hellwig 2020-02-07 16:34 ` Vivek Goyal 2020-02-03 20:00 ` [PATCH 4/5] dax,iomap: Start using dax native zero_page_range() Vivek Goyal 2020-02-05 18:33 ` Christoph Hellwig 2020-02-05 20:10 ` Vivek Goyal 2020-02-07 15:31 ` Vivek Goyal 2020-02-03 20:00 ` [PATCH 5/5] dax,iomap: Add helper dax_iomap_zero() to zero a range Vivek Goyal 2020-02-04 5:17 ` kbuild test robot 2020-02-05 18:36 ` Christoph Hellwig 2020-02-05 20:15 ` Vivek Goyal
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=20200203200029.4592-1-vgoyal@redhat.com \ --to=vgoyal@redhat.com \ --cc=dan.j.williams@intel.com \ --cc=dm-devel@redhat.com \ --cc=hch@infradead.org \ --cc=linux-fsdevel@vger.kernel.org \ --cc=linux-nvdimm@lists.01.org \ --cc=vishal.l.verma@intel.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
Linux-Fsdevel Archive on lore.kernel.org Archives are clonable: git clone --mirror https://lore.kernel.org/linux-fsdevel/0 linux-fsdevel/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 linux-fsdevel linux-fsdevel/ https://lore.kernel.org/linux-fsdevel \ linux-fsdevel@vger.kernel.org public-inbox-index linux-fsdevel Example config snippet for mirrors Newsgroup available over NNTP: nntp://nntp.lore.kernel.org/org.kernel.vger.linux-fsdevel AGPL code for this site: git clone https://public-inbox.org/public-inbox.git