xref: /linux/Documentation/ABI/testing/sysfs-bus-dax (revision 73954d379efd176e9b011142c55aa8da93ac740a)
151e7849cSVishal VermaWhat:		/sys/bus/dax/devices/daxX.Y/align
251e7849cSVishal VermaDate:		October, 2020
351e7849cSVishal VermaKernelVersion:	v5.10
451e7849cSVishal VermaContact:	nvdimm@lists.linux.dev
551e7849cSVishal VermaDescription:
651e7849cSVishal Verma		(RW) Provides a way to specify an alignment for a dax device.
751e7849cSVishal Verma		Values allowed are constrained by the physical address ranges
851e7849cSVishal Verma		that back the dax device, and also by arch requirements.
951e7849cSVishal Verma
1051e7849cSVishal VermaWhat:		/sys/bus/dax/devices/daxX.Y/mapping
1151e7849cSVishal VermaDate:		October, 2020
1251e7849cSVishal VermaKernelVersion:	v5.10
1351e7849cSVishal VermaContact:	nvdimm@lists.linux.dev
1451e7849cSVishal VermaDescription:
1551e7849cSVishal Verma		(WO) Provides a way to allocate a mapping range under a dax
1651e7849cSVishal Verma		device. Specified in the format <start>-<end>.
1751e7849cSVishal Verma
1851e7849cSVishal VermaWhat:		/sys/bus/dax/devices/daxX.Y/mapping[0..N]/start
1951e7849cSVishal VermaWhat:		/sys/bus/dax/devices/daxX.Y/mapping[0..N]/end
2051e7849cSVishal VermaWhat:		/sys/bus/dax/devices/daxX.Y/mapping[0..N]/page_offset
2151e7849cSVishal VermaDate:		October, 2020
2251e7849cSVishal VermaKernelVersion:	v5.10
2351e7849cSVishal VermaContact:	nvdimm@lists.linux.dev
2451e7849cSVishal VermaDescription:
2551e7849cSVishal Verma		(RO) A dax device may have multiple constituent discontiguous
2651e7849cSVishal Verma		address ranges. These are represented by the different
2751e7849cSVishal Verma		'mappingX' subdirectories. The 'start' attribute indicates the
2851e7849cSVishal Verma		start physical address for the given range. The 'end' attribute
2951e7849cSVishal Verma		indicates the end physical address for the given range. The
3051e7849cSVishal Verma		'page_offset' attribute indicates the offset of the current
3151e7849cSVishal Verma		range in the dax device.
3251e7849cSVishal Verma
3351e7849cSVishal VermaWhat:		/sys/bus/dax/devices/daxX.Y/resource
3451e7849cSVishal VermaDate:		June, 2019
3551e7849cSVishal VermaKernelVersion:	v5.3
3651e7849cSVishal VermaContact:	nvdimm@lists.linux.dev
3751e7849cSVishal VermaDescription:
3851e7849cSVishal Verma		(RO) The resource attribute indicates the starting physical
3951e7849cSVishal Verma		address of a dax device. In case of a device with multiple
4051e7849cSVishal Verma		constituent ranges, it indicates the starting address of the
4151e7849cSVishal Verma		first range.
4251e7849cSVishal Verma
4351e7849cSVishal VermaWhat:		/sys/bus/dax/devices/daxX.Y/size
4451e7849cSVishal VermaDate:		October, 2020
4551e7849cSVishal VermaKernelVersion:	v5.10
4651e7849cSVishal VermaContact:	nvdimm@lists.linux.dev
4751e7849cSVishal VermaDescription:
4851e7849cSVishal Verma		(RW) The size attribute indicates the total size of a dax
4951e7849cSVishal Verma		device. For creating subdivided dax devices, or for resizing
5051e7849cSVishal Verma		an existing device, the new size can be written to this as
5151e7849cSVishal Verma		part of the reconfiguration process.
5251e7849cSVishal Verma
5351e7849cSVishal VermaWhat:		/sys/bus/dax/devices/daxX.Y/numa_node
5451e7849cSVishal VermaDate:		November, 2019
5551e7849cSVishal VermaKernelVersion:	v5.5
5651e7849cSVishal VermaContact:	nvdimm@lists.linux.dev
5751e7849cSVishal VermaDescription:
5851e7849cSVishal Verma		(RO) If NUMA is enabled and the platform has affinitized the
5951e7849cSVishal Verma		backing device for this dax device, emit the CPU node
6051e7849cSVishal Verma		affinity for this device.
6151e7849cSVishal Verma
6251e7849cSVishal VermaWhat:		/sys/bus/dax/devices/daxX.Y/target_node
6351e7849cSVishal VermaDate:		February, 2019
6451e7849cSVishal VermaKernelVersion:	v5.1
6551e7849cSVishal VermaContact:	nvdimm@lists.linux.dev
6651e7849cSVishal VermaDescription:
6751e7849cSVishal Verma		(RO) The target-node attribute is the Linux numa-node that a
6851e7849cSVishal Verma		device-dax instance may create when it is online. Prior to
6951e7849cSVishal Verma		being online the device's 'numa_node' property reflects the
7051e7849cSVishal Verma		closest online cpu node which is the typical expectation of a
7151e7849cSVishal Verma		device 'numa_node'. Once it is online it becomes its own
7251e7849cSVishal Verma		distinct numa node.
7351e7849cSVishal Verma
7451e7849cSVishal VermaWhat:		$(readlink -f /sys/bus/dax/devices/daxX.Y)/../dax_region/available_size
7551e7849cSVishal VermaDate:		October, 2020
7651e7849cSVishal VermaKernelVersion:	v5.10
7751e7849cSVishal VermaContact:	nvdimm@lists.linux.dev
7851e7849cSVishal VermaDescription:
7951e7849cSVishal Verma		(RO) The available_size attribute tracks available dax region
8051e7849cSVishal Verma		capacity. This only applies to volatile hmem devices, not pmem
8151e7849cSVishal Verma		devices, since pmem devices are defined by nvdimm namespace
8251e7849cSVishal Verma		boundaries.
8351e7849cSVishal Verma
8451e7849cSVishal VermaWhat:		$(readlink -f /sys/bus/dax/devices/daxX.Y)/../dax_region/size
8551e7849cSVishal VermaDate:		July, 2017
8651e7849cSVishal VermaKernelVersion:	v5.1
8751e7849cSVishal VermaContact:	nvdimm@lists.linux.dev
8851e7849cSVishal VermaDescription:
8951e7849cSVishal Verma		(RO) The size attribute indicates the size of a given dax region
9051e7849cSVishal Verma		in bytes.
9151e7849cSVishal Verma
9251e7849cSVishal VermaWhat:		$(readlink -f /sys/bus/dax/devices/daxX.Y)/../dax_region/align
9351e7849cSVishal VermaDate:		October, 2020
9451e7849cSVishal VermaKernelVersion:	v5.10
9551e7849cSVishal VermaContact:	nvdimm@lists.linux.dev
9651e7849cSVishal VermaDescription:
9751e7849cSVishal Verma		(RO) The align attribute indicates alignment of the dax region.
9851e7849cSVishal Verma		Changes on align may not always be valid, when say certain
9951e7849cSVishal Verma		mappings were created with 2M and then we switch to 1G. This
10051e7849cSVishal Verma		validates all ranges against the new value being attempted, post
10151e7849cSVishal Verma		resizing.
10251e7849cSVishal Verma
10351e7849cSVishal VermaWhat:		$(readlink -f /sys/bus/dax/devices/daxX.Y)/../dax_region/seed
10451e7849cSVishal VermaDate:		October, 2020
10551e7849cSVishal VermaKernelVersion:	v5.10
10651e7849cSVishal VermaContact:	nvdimm@lists.linux.dev
10751e7849cSVishal VermaDescription:
10851e7849cSVishal Verma		(RO) The seed device is a concept for dynamic dax regions to be
10951e7849cSVishal Verma		able to split the region amongst multiple sub-instances.  The
11051e7849cSVishal Verma		seed device, similar to libnvdimm seed devices, is a device
11151e7849cSVishal Verma		that starts with zero capacity allocated and unbound to a
11251e7849cSVishal Verma		driver.
11351e7849cSVishal Verma
11451e7849cSVishal VermaWhat:		$(readlink -f /sys/bus/dax/devices/daxX.Y)/../dax_region/create
11551e7849cSVishal VermaDate:		October, 2020
11651e7849cSVishal VermaKernelVersion:	v5.10
11751e7849cSVishal VermaContact:	nvdimm@lists.linux.dev
11851e7849cSVishal VermaDescription:
11951e7849cSVishal Verma		(RW) The create interface to the dax region provides a way to
12051e7849cSVishal Verma		create a new unconfigured dax device under the given region, which
12151e7849cSVishal Verma		can then be configured (with a size etc.) and then probed.
12251e7849cSVishal Verma
12351e7849cSVishal VermaWhat:		$(readlink -f /sys/bus/dax/devices/daxX.Y)/../dax_region/delete
12451e7849cSVishal VermaDate:		October, 2020
12551e7849cSVishal VermaKernelVersion:	v5.10
12651e7849cSVishal VermaContact:	nvdimm@lists.linux.dev
12751e7849cSVishal VermaDescription:
12851e7849cSVishal Verma		(WO) The delete interface for a dax region provides for deletion
12951e7849cSVishal Verma		of any 0-sized and idle dax devices.
13051e7849cSVishal Verma
13151e7849cSVishal VermaWhat:		$(readlink -f /sys/bus/dax/devices/daxX.Y)/../dax_region/id
13251e7849cSVishal VermaDate:		July, 2017
13351e7849cSVishal VermaKernelVersion:	v5.1
13451e7849cSVishal VermaContact:	nvdimm@lists.linux.dev
13551e7849cSVishal VermaDescription:
13651e7849cSVishal Verma		(RO) The id attribute indicates the region id of a dax region.
137*73954d37SVishal Verma
138*73954d37SVishal VermaWhat:		/sys/bus/dax/devices/daxX.Y/memmap_on_memory
139*73954d37SVishal VermaDate:		January, 2024
140*73954d37SVishal VermaKernelVersion:	v6.8
141*73954d37SVishal VermaContact:	nvdimm@lists.linux.dev
142*73954d37SVishal VermaDescription:
143*73954d37SVishal Verma		(RW) Control the memmap_on_memory setting if the dax device
144*73954d37SVishal Verma		were to be hotplugged as system memory. This determines whether
145*73954d37SVishal Verma		the 'altmap' for the hotplugged memory will be placed on the
146*73954d37SVishal Verma		device being hotplugged (memmap_on_memory=1) or if it will be
147*73954d37SVishal Verma		placed on regular memory (memmap_on_memory=0). This attribute
148*73954d37SVishal Verma		must be set before the device is handed over to the 'kmem'
149*73954d37SVishal Verma		driver (i.e.  hotplugged into system-ram). Additionally, this
150*73954d37SVishal Verma		depends on CONFIG_MHP_MEMMAP_ON_MEMORY, and a globally enabled
151*73954d37SVishal Verma		memmap_on_memory parameter for memory_hotplug. This is
152*73954d37SVishal Verma		typically set on the kernel command line -
153*73954d37SVishal Verma		memory_hotplug.memmap_on_memory set to 'true' or 'force'."
154