Changes since v1:
* Move the lookup to mount time. (Christoph)
I just noticed that we now do a fs_dax_get_by_host in every
iomap_begin call for DAX. This function iterates a list, does a
string compared and igrab. I really think we need to cache this in
the superblock (possible even the fs superblock) similar to what we
do for the block device.
This passes the libnvdimm unit tests.
Dan Williams (2):
fs, xfs: perform dax_device lookup at mount
ext2, ext4: use the super_block dax_device
drivers/dax/super.c | 10 ++++++++++
fs/ext2/inode.c | 10 ++--------
fs/ext4/inode.c | 10 ++--------
fs/super.c | 26 +++++++++++++++++++++++---
fs/xfs/xfs_aops.c | 13 +++++++++++++
fs/xfs/xfs_aops.h | 1 +
fs/xfs/xfs_buf.c | 4 +++-
fs/xfs/xfs_buf.h | 3 ++-
fs/xfs/xfs_iomap.c | 10 +---------
fs/xfs/xfs_super.c | 21 +++++++++++++++++----
include/linux/dax.h | 6 ++++++
include/linux/fs.h | 1 +
12 files changed, 81 insertions(+), 34 deletions(-)
How's it going?
I visited your website yesterday..
I'm currently looking for employment either full time or as a intern to get experience in the job fiield.
Please review my CV and let me know what you think.
the three patches below wire up the synchronous page fault code for XFS.
I've only verified it by making sure we always use the synchronous fault
path and then running xfstests, so don't use it for critical applications
just yet :)
This is against the current tree at:
I wrote v2 patch set to show broken NVDIMM for ndctl list command.
Please check it.
Change log since v1 :
- Use ND_CMD_CALL to call translate SPA feature.
- Separate patch set of ndctl from kernel patch set.
- Add a interface to check what feature can call via ND_CMD_CALL by reading
- Get only one nvdimm handle and DPA via ioctl() for the time being.
- Bug fix which i found
fix calculation of SPA from bad block at dev_badblocks_to_json().
This patch set is to show information of broken NVDIMM on ndctl.
When a region has a broken block, user need to replace
the NVDIMM which includes the block.
However there is no information to find which DIMM module have the block.
Not only ndctl does not have such information, nvdimm driver can not
Fortunately, ACPI 6.2 has new specification of _DSM.
It is "translate spa" which can get NVDIMM handle
and DPA(Dimm Physical Address) from SPA(system Physical Addreess).
It helps for ndctl command to find broken NVDIMM.
This patch set includes followings.
- some preparations to call Translate SPA via ND_CMD_CALL.
- libndctl supports Translate SPA interface,
- ndctl list command show bad DIMM with Translate SPA.
- Addressed kbuild test bot issues. Passed kbuild test bot, 179 configs.
- Added patch to rename DMA_SG to DMA_SG_SG to make it explicit
- Added DMA_MEMCPY_SG transaction type to dmaengine
- Misc patch to add verification of DMA_MEMSET_SG that was missing
- Addressed all nd_pmem driver comments from Ross.
- Make dma_prep_memcpy_* into one function per Dan.
- Addressed various comments from Ross with code formatting and etc.
- Replaced open code with offset_in_page() macro per Johannes.
The following series implements adds blk-mq support to the pmem block driver
and also adds infrastructure code to ioatdma and dmaengine in order to
support copying to and from scatterlist in order to process block
requests provided by blk-mq. The usage of DMA engines available on certain
platforms allow us to drastically reduce CPU utilization and at the same time
maintain performance that is good enough. Experimentations have been done on
DRAM backed pmem block device that showed the utilization of DMA engine is
beneficial. User can revert back to original behavior by providing
queue_mode=0 to the nd_pmem kernel module if desired.
Dave Jiang (8):
dmaengine: ioatdma: revert 7618d035 to allow sharing of DMA channels
dmaengine: change transaction type DMA_SG to DMA_SG_SG
dmaengine: Add DMA_MEMCPY_SG transaction op
dmaengine: add verification of DMA_MEMSET_SG in dmaengine
dmaengine: ioatdma: dma_prep_memcpy_sg support
dmaengine: add SG support to dmaengine_unmap
libnvdimm: Adding blk-mq support to the pmem driver
libnvdimm: add DMA support for pmem blk-mq
Documentation/dmaengine/provider.txt | 5 -
drivers/crypto/ccp/ccp-dmaengine.c | 2
drivers/dma/at_hdmac.c | 8 -
drivers/dma/dmaengine.c | 51 ++++-
drivers/dma/dmatest.c | 12 +
drivers/dma/fsldma.c | 2
drivers/dma/ioat/dma.h | 4
drivers/dma/ioat/init.c | 5 -
drivers/dma/ioat/prep.c | 57 ++++++
drivers/dma/mv_xor.c | 6 -
drivers/dma/nbpfaxi.c | 2
drivers/dma/ste_dma40.c | 6 -
drivers/dma/xgene-dma.c | 4
drivers/dma/xilinx/zynqmp_dma.c | 2
drivers/nvdimm/pmem.c | 333 ++++++++++++++++++++++++++++++++--
drivers/nvdimm/pmem.h | 3
include/linux/dmaengine.h | 30 +++
17 files changed, 474 insertions(+), 58 deletions(-)