Christoph notes: 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. Fix this up to cache the result of the dax_device lookup in 'struct xfs_mount' for xfs and 'struct super_block' for ext2/ext4. --- Dan Williams (2): xfs: cache dax_device lookup result ext2, ext4: cache dax_device lookup result fs/ext2/inode.c | 11 +++++++---- fs/ext4/inode.c | 11 +++++++---- fs/xfs/xfs_aops.c | 24 ++++++++++++++++++++++++ fs/xfs/xfs_aops.h | 1 + fs/xfs/xfs_buf.h | 1 + fs/xfs/xfs_iomap.c | 9 +-------- include/linux/fs.h | 3 +++ 7 files changed, 44 insertions(+), 16 deletions(-)