The patch titled Subject: drivers/nvdimm/pmem.c: remove pmem_rw_page() has been added to the -mm tree. Its filename is pmem-remove-pmem_rw_page.patch This patch should soon appear at http://ozlabs.org/~akpm/mmots/broken-out/pmem-remove-pmem_rw_page.patch and later at http://ozlabs.org/~akpm/mmotm/broken-out/pmem-remove-pmem_rw_page.patch Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/SubmitChecklist when testing your code *** The -mm tree is included into linux-next and is updated there every 3-4 working days ------------------------------------------------------ From: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Subject: drivers/nvdimm/pmem.c: remove pmem_rw_page() The rw_page() interface doesn't provide a clear performance benefit for PMEM and has had a nonzero maintenance burden, so remove it. Link: http://lkml.kernel.org/r/20170728165604.10455-3-ross.zwisler@xxxxxxxxxxxxxxx Signed-off-by: Ross Zwisler <ross.zwisler@xxxxxxxxxxxxxxx> Suggested-by: Dan Williams <dan.j.williams@xxxxxxxxx> Suggested-by: Christoph Hellwig <hch@xxxxxxxxxxxxx> Cc: Matthew Wilcox <willy@xxxxxxxxxxxxx> Cc: "karam . lee" <karam.lee@xxxxxxx> Cc: Dave Chinner <david@xxxxxxxxxxxxx> Cc: Jan Kara <jack@xxxxxxx> Cc: Jens Axboe <axboe@xxxxxxxxx> Cc: Jerome Marchand <jmarchan@xxxxxxxxxx> Cc: Minchan Kim <minchan@xxxxxxxxxx> Cc: Nitin Gupta <ngupta@xxxxxxxxxx> Cc: Seungho Park <seungho1.park@xxxxxxx> Cc: Vishal Verma <vishal.l.verma@xxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- drivers/nvdimm/pmem.c | 22 ---------------------- 1 file changed, 22 deletions(-) diff -puN drivers/nvdimm/pmem.c~pmem-remove-pmem_rw_page drivers/nvdimm/pmem.c --- a/drivers/nvdimm/pmem.c~pmem-remove-pmem_rw_page +++ a/drivers/nvdimm/pmem.c @@ -200,27 +200,6 @@ static blk_qc_t pmem_make_request(struct return BLK_QC_T_NONE; } -static int pmem_rw_page(struct block_device *bdev, sector_t sector, - struct page *page, bool is_write) -{ - struct pmem_device *pmem = bdev->bd_queue->queuedata; - blk_status_t rc; - - rc = pmem_do_bvec(pmem, page, hpage_nr_pages(page) * PAGE_SIZE, - 0, is_write, sector); - - /* - * The ->rw_page interface is subtle and tricky. The core - * retries on any error, so we can only invoke page_endio() in - * the successful completion case. Otherwise, we'll see crashes - * caused by double completion. - */ - if (rc == 0) - page_endio(page, is_write, 0); - - return blk_status_to_errno(rc); -} - /* see "strong" declaration in tools/testing/nvdimm/pmem-dax.c */ __weak long __pmem_direct_access(struct pmem_device *pmem, pgoff_t pgoff, long nr_pages, void **kaddr, pfn_t *pfn) @@ -244,7 +223,6 @@ __weak long __pmem_direct_access(struct static const struct block_device_operations pmem_fops = { .owner = THIS_MODULE, - .rw_page = pmem_rw_page, .revalidate_disk = nvdimm_revalidate_disk, }; _ Patches currently in -mm which might be from ross.zwisler@xxxxxxxxxxxxxxx are mm-add-vm_insert_mixed_mkwrite.patch dax-relocate-some-dax-functions.patch dax-use-common-4k-zero-page-for-dax-mmap-reads.patch dax-remove-dax-code-from-page_cache_tree_insert.patch dax-move-all-dax-radix-tree-defs-to-fs-daxc.patch btt-remove-btt_rw_page.patch pmem-remove-pmem_rw_page.patch brd-remove-brd_rw_page.patch -- To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html