Re: [PATCH 1/9] fsdax: improve the FS_DAX Kconfig description and help text
From: Dan Williams <hidden>
Date: 2021-08-23 18:46:05
Also in:
linux-ext4, linux-fsdevel, nvdimm
On Mon, Aug 23, 2021 at 5:37 AM Christoph Hellwig [off-list ref] wrote:
Rename the main option text to clarify it is for file system access, and add a bit of text that explains how to actually switch a nvdimm to a fsdax capable state.
Looks good, nice improvement. A couple suggestions below.
quoted hunk ↗ jump to hunk
Signed-off-by: Christoph Hellwig <hch@lst.de> --- fs/Kconfig | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-)diff --git a/fs/Kconfig b/fs/Kconfig index a7749c126b8e..37e4441119cf 100644 --- a/fs/Kconfig +++ b/fs/Kconfig@@ -43,7 +43,7 @@ source "fs/f2fs/Kconfig" source "fs/zonefs/Kconfig" config FS_DAX - bool "Direct Access (DAX) support" + bool "File system based Direct Access (DAX) support" depends on MMU depends on !(ARM || MIPS || SPARC) select DEV_PAGEMAP_OPS if (ZONE_DEVICE && !FS_DAX_LIMITED)@@ -53,8 +53,19 @@ config FS_DAX Direct Access (DAX) can be used on memory-backed block devices. If the block device supports DAX and the filesystem supports DAX, then you can avoid using the pagecache to buffer I/Os. Turning - on this option will compile in support for DAX; you will need to - mount the filesystem using the -o dax option. + on this option will compile in support for DAX. + + For a DAX device to support file system access it needs to have + struct pages. For the nfit based NVDIMMs this can be enabled + using the ndctl utility: + + # ndctl create-namespace --force --reconfig=namespace0.0 \ + --mode=fsdax --map=mem
There's still the concern that on systems with small amount of DRAM relative to large amounts of PMEM that --map=mem might consume all available memory for 'struct page'. Perhaps just add: "See the 'create-namespace' man page for details on the overhead of --map=mem: https://docs.pmem.io/ndctl-user-guide/ndctl-man-pages/ndctl-create-namespace"
quoted hunk ↗ jump to hunk
+ + For ndctl to work CONFIG_DEV_DAX needs to be enabled as well. + For most file systems DAX support needs to be manually enable + globally or per-inode using a mount option as well. See the + file system documentation for details.
How about include the link? "See the file system documentation for details: https://www.kernel.org/doc/html/latest/filesystems/dax.html"