154 lines · plain
1What: /sys/bus/dax/devices/daxX.Y/align2Date: October, 20203KernelVersion: v5.104Contact: nvdimm@lists.linux.dev5Description:6 (RW) Provides a way to specify an alignment for a dax device.7 Values allowed are constrained by the physical address ranges8 that back the dax device, and also by arch requirements.9 10What: /sys/bus/dax/devices/daxX.Y/mapping11Date: October, 202012KernelVersion: v5.1013Contact: nvdimm@lists.linux.dev14Description:15 (WO) Provides a way to allocate a mapping range under a dax16 device. Specified in the format <start>-<end>.17 18What: /sys/bus/dax/devices/daxX.Y/mapping[0..N]/start19What: /sys/bus/dax/devices/daxX.Y/mapping[0..N]/end20What: /sys/bus/dax/devices/daxX.Y/mapping[0..N]/page_offset21Date: October, 202022KernelVersion: v5.1023Contact: nvdimm@lists.linux.dev24Description:25 (RO) A dax device may have multiple constituent discontiguous26 address ranges. These are represented by the different27 'mappingX' subdirectories. The 'start' attribute indicates the28 start physical address for the given range. The 'end' attribute29 indicates the end physical address for the given range. The30 'page_offset' attribute indicates the offset of the current31 range in the dax device.32 33What: /sys/bus/dax/devices/daxX.Y/resource34Date: June, 201935KernelVersion: v5.336Contact: nvdimm@lists.linux.dev37Description:38 (RO) The resource attribute indicates the starting physical39 address of a dax device. In case of a device with multiple40 constituent ranges, it indicates the starting address of the41 first range.42 43What: /sys/bus/dax/devices/daxX.Y/size44Date: October, 202045KernelVersion: v5.1046Contact: nvdimm@lists.linux.dev47Description:48 (RW) The size attribute indicates the total size of a dax49 device. For creating subdivided dax devices, or for resizing50 an existing device, the new size can be written to this as51 part of the reconfiguration process.52 53What: /sys/bus/dax/devices/daxX.Y/numa_node54Date: November, 201955KernelVersion: v5.556Contact: nvdimm@lists.linux.dev57Description:58 (RO) If NUMA is enabled and the platform has affinitized the59 backing device for this dax device, emit the CPU node60 affinity for this device.61 62What: /sys/bus/dax/devices/daxX.Y/target_node63Date: February, 201964KernelVersion: v5.165Contact: nvdimm@lists.linux.dev66Description:67 (RO) The target-node attribute is the Linux numa-node that a68 device-dax instance may create when it is online. Prior to69 being online the device's 'numa_node' property reflects the70 closest online cpu node which is the typical expectation of a71 device 'numa_node'. Once it is online it becomes its own72 distinct numa node.73 74What: $(readlink -f /sys/bus/dax/devices/daxX.Y)/../dax_region/available_size75Date: October, 202076KernelVersion: v5.1077Contact: nvdimm@lists.linux.dev78Description:79 (RO) The available_size attribute tracks available dax region80 capacity. This only applies to volatile hmem devices, not pmem81 devices, since pmem devices are defined by nvdimm namespace82 boundaries.83 84What: $(readlink -f /sys/bus/dax/devices/daxX.Y)/../dax_region/size85Date: July, 201786KernelVersion: v5.187Contact: nvdimm@lists.linux.dev88Description:89 (RO) The size attribute indicates the size of a given dax region90 in bytes.91 92What: $(readlink -f /sys/bus/dax/devices/daxX.Y)/../dax_region/align93Date: October, 202094KernelVersion: v5.1095Contact: nvdimm@lists.linux.dev96Description:97 (RO) The align attribute indicates alignment of the dax region.98 Changes on align may not always be valid, when say certain99 mappings were created with 2M and then we switch to 1G. This100 validates all ranges against the new value being attempted, post101 resizing.102 103What: $(readlink -f /sys/bus/dax/devices/daxX.Y)/../dax_region/seed104Date: October, 2020105KernelVersion: v5.10106Contact: nvdimm@lists.linux.dev107Description:108 (RO) The seed device is a concept for dynamic dax regions to be109 able to split the region amongst multiple sub-instances. The110 seed device, similar to libnvdimm seed devices, is a device111 that starts with zero capacity allocated and unbound to a112 driver.113 114What: $(readlink -f /sys/bus/dax/devices/daxX.Y)/../dax_region/create115Date: October, 2020116KernelVersion: v5.10117Contact: nvdimm@lists.linux.dev118Description:119 (RW) The create interface to the dax region provides a way to120 create a new unconfigured dax device under the given region, which121 can then be configured (with a size etc.) and then probed.122 123What: $(readlink -f /sys/bus/dax/devices/daxX.Y)/../dax_region/delete124Date: October, 2020125KernelVersion: v5.10126Contact: nvdimm@lists.linux.dev127Description:128 (WO) The delete interface for a dax region provides for deletion129 of any 0-sized and idle dax devices.130 131What: $(readlink -f /sys/bus/dax/devices/daxX.Y)/../dax_region/id132Date: July, 2017133KernelVersion: v5.1134Contact: nvdimm@lists.linux.dev135Description:136 (RO) The id attribute indicates the region id of a dax region.137 138What: /sys/bus/dax/devices/daxX.Y/memmap_on_memory139Date: January, 2024140KernelVersion: v6.8141Contact: nvdimm@lists.linux.dev142Description:143 (RW) Control the memmap_on_memory setting if the dax device144 were to be hotplugged as system memory. This determines whether145 the 'altmap' for the hotplugged memory will be placed on the146 device being hotplugged (memmap_on_memory=1) or if it will be147 placed on regular memory (memmap_on_memory=0). This attribute148 must be set before the device is handed over to the 'kmem'149 driver (i.e. hotplugged into system-ram). Additionally, this150 depends on CONFIG_MHP_MEMMAP_ON_MEMORY, and a globally enabled151 memmap_on_memory parameter for memory_hotplug. This is152 typically set on the kernel command line -153 memory_hotplug.memmap_on_memory set to 'true' or 'force'."154