1NDCTL-ENABLE-NAMES(1)                                    NDCTL-ENABLE-NAMES(1)
2
3
4

NAME

6       ndctl-enable-namespace - enable the given namespace(s)
7

SYNOPSIS

9       ndctl enable-namespace <namespace> [<options>]
10

THEORY OF OPERATION

12       The capacity of an NVDIMM REGION (contiguous span of persistent memory)
13       is accessed via one or more NAMESPACE devices. REGION is the Linux term
14       for what ACPI and UEFI call a DIMM-interleave-set, or a
15       system-physical-address-range that is striped (by the memory
16       controller) across one or more memory modules.
17
18       The UEFI specification defines the NVDIMM Label Protocol as the
19       combination of label area access methods and a data format for
20       provisioning one or more NAMESPACE objects from a REGION. Note that
21       label support is optional and if Linux does not detect the label
22       capability it will automatically instantiate a "label-less" namespace
23       per region. Examples of label-less namespaces are the ones created by
24       the kernel’s memmap=ss!nn command line option (see the nvdimm wiki on
25       kernel.org), or NVDIMMs without a valid namespace index in their label
26       area.
27
28           Note
29           Label-less namespaces lack many of the features of their label-rich
30           cousins. For example, their size cannot be modified, or they cannot
31           be fully destroyed (i.e. the space reclaimed). A destroy operation
32           will zero any mode-specific metadata. Finally, for create-namespace
33           operations on label-less namespaces, ndctl bypasses the region
34           capacity availability checks, and always satisfies the request
35           using the full region capacity. The only reconfiguration operation
36           supported on a label-less namespace is changing its mode.
37
38       A namespace can be provisioned to operate in one of 4 modes, fsdax,
39       devdax, sector, and raw. Here are the expected usage models for these
40       modes:
41
42       •   fsdax: Filesystem-DAX mode is the default mode of a namespace when
43           specifying ndctl create-namespace with no options. It creates a
44           block device (/dev/pmemX[.Y]) that supports the DAX capabilities of
45           Linux filesystems (xfs and ext4 to date). DAX removes the page
46           cache from the I/O path and allows mmap(2) to establish direct
47           mappings to persistent memory media. The DAX capability enables
48           workloads / working-sets that would exceed the capacity of the page
49           cache to scale up to the capacity of persistent memory. Workloads
50           that fit in page cache or perform bulk data transfers may not see
51           benefit from DAX. When in doubt, pick this mode.
52
53       •   devdax: Device-DAX mode enables similar mmap(2) DAX mapping
54           capabilities as Filesystem-DAX. However, instead of a block-device
55           that can support a DAX-enabled filesystem, this mode emits a single
56           character device file (/dev/daxX.Y). Use this mode to assign
57           persistent memory to a virtual-machine, register persistent memory
58           for RDMA, or when gigantic mappings are needed.
59
60       •   sector: Use this mode to host legacy filesystems that do not
61           checksum metadata or applications that are not prepared for torn
62           sectors after a crash. Expected usage for this mode is for small
63           boot volumes. This mode is compatible with other operating systems.
64
65       •   raw: Raw mode is effectively just a memory disk that does not
66           support DAX. Typically this indicates a namespace that was created
67           by tooling or another operating system that did not know how to
68           create a Linux fsdax or devdax mode namespace. This mode is
69           compatible with other operating systems, but again, does not
70           support DAX operation.
71

OPTIONS

73       <namespace>
74           A namespaceX.Y device name. The keyword all can be specified to
75           carry out the operation on every namespace in the system,
76           optionally filtered by region (see --region=option)
77
78       -r, --region=
79           A regionX device name, or a region id number. Restrict the
80           operation to the specified region(s). The keyword all can be
81           specified to indicate the lack of any restriction, however this is
82           the same as not supplying a --region option at all.
83
84       -b, --bus=
85           A bus id number, or a provider string (e.g. "ACPI.NFIT"). Restrict
86           the operation to the specified bus(es). The keyword all can be
87           specified to indicate the lack of any restriction, however this is
88           the same as not supplying a --bus option at all.
89
90       -v, --verbose
91           Emit debug messages for the namespace operation
92
94       Copyright © 2016 - 2022, Intel Corporation. License GPLv2: GNU GPL
95       version 2 http://gnu.org/licenses/gpl.html. This is free software: you
96       are free to change and redistribute it. There is NO WARRANTY, to the
97       extent permitted by law.
98

SEE ALSO

100       linkndctl:ndctl-disable-namespace[1]
101
102
103
104                                  01/13/2023             NDCTL-ENABLE-NAMES(1)
Impressum