1What: /sys/bus/dax/devices/daxX.Y/align 2Date: October, 2020 3KernelVersion: v5.10 4Contact: [email protected] 5Description: 6 (RW) Provides a way to specify an alignment for a dax device. 7 Values allowed are constrained by the physical address ranges 8 that back the dax device, and also by arch requirements. 9 10What: /sys/bus/dax/devices/daxX.Y/mapping 11Date: October, 2020 12KernelVersion: v5.10 13Contact: [email protected] 14Description: 15 (WO) Provides a way to allocate a mapping range under a dax 16 device. Specified in the format <start>-<end>. 17 18What: /sys/bus/dax/devices/daxX.Y/mapping[0..N]/start 19What: /sys/bus/dax/devices/daxX.Y/mapping[0..N]/end 20What: /sys/bus/dax/devices/daxX.Y/mapping[0..N]/page_offset 21Date: October, 2020 22KernelVersion: v5.10 23Contact: [email protected] 24Description: 25 (RO) A dax device may have multiple constituent discontiguous 26 address ranges. These are represented by the different 27 'mappingX' subdirectories. The 'start' attribute indicates the 28 start physical address for the given range. The 'end' attribute 29 indicates the end physical address for the given range. The 30 'page_offset' attribute indicates the offset of the current 31 range in the dax device. 32 33What: /sys/bus/dax/devices/daxX.Y/resource 34Date: June, 2019 35KernelVersion: v5.3 36Contact: [email protected] 37Description: 38 (RO) The resource attribute indicates the starting physical 39 address of a dax device. In case of a device with multiple 40 constituent ranges, it indicates the starting address of the 41 first range. 42 43What: /sys/bus/dax/devices/daxX.Y/size 44Date: October, 2020 45KernelVersion: v5.10 46Contact: [email protected] 47Description: 48 (RW) The size attribute indicates the total size of a dax 49 device. For creating subdivided dax devices, or for resizing 50 an existing device, the new size can be written to this as 51 part of the reconfiguration process. 52 53What: /sys/bus/dax/devices/daxX.Y/numa_node 54Date: November, 2019 55KernelVersion: v5.5 56Contact: [email protected] 57Description: 58 (RO) If NUMA is enabled and the platform has affinitized the 59 backing device for this dax device, emit the CPU node 60 affinity for this device. 61 62What: /sys/bus/dax/devices/daxX.Y/target_node 63Date: February, 2019 64KernelVersion: v5.1 65Contact: [email protected] 66Description: 67 (RO) The target-node attribute is the Linux numa-node that a 68 device-dax instance may create when it is online. Prior to 69 being online the device's 'numa_node' property reflects the 70 closest online cpu node which is the typical expectation of a 71 device 'numa_node'. Once it is online it becomes its own 72 distinct numa node. 73 74What: $(readlink -f /sys/bus/dax/devices/daxX.Y)/../dax_region/available_size 75Date: October, 2020 76KernelVersion: v5.10 77Contact: [email protected] 78Description: 79 (RO) The available_size attribute tracks available dax region 80 capacity. This only applies to volatile hmem devices, not pmem 81 devices, since pmem devices are defined by nvdimm namespace 82 boundaries. 83 84What: $(readlink -f /sys/bus/dax/devices/daxX.Y)/../dax_region/size 85Date: July, 2017 86KernelVersion: v5.1 87Contact: [email protected] 88Description: 89 (RO) The size attribute indicates the size of a given dax region 90 in bytes. 91 92What: $(readlink -f /sys/bus/dax/devices/daxX.Y)/../dax_region/align 93Date: October, 2020 94KernelVersion: v5.10 95Contact: [email protected] 96Description: 97 (RO) The align attribute indicates alignment of the dax region. 98 Changes on align may not always be valid, when say certain 99 mappings were created with 2M and then we switch to 1G. This 100 validates all ranges against the new value being attempted, post 101 resizing. 102 103What: $(readlink -f /sys/bus/dax/devices/daxX.Y)/../dax_region/seed 104Date: October, 2020 105KernelVersion: v5.10 106Contact: [email protected] 107Description: 108 (RO) The seed device is a concept for dynamic dax regions to be 109 able to split the region amongst multiple sub-instances. The 110 seed device, similar to libnvdimm seed devices, is a device 111 that starts with zero capacity allocated and unbound to a 112 driver. 113 114What: $(readlink -f /sys/bus/dax/devices/daxX.Y)/../dax_region/create 115Date: October, 2020 116KernelVersion: v5.10 117Contact: [email protected] 118Description: 119 (RW) The create interface to the dax region provides a way to 120 create a new unconfigured dax device under the given region, which 121 can then be configured (with a size etc.) and then probed. 122 123What: $(readlink -f /sys/bus/dax/devices/daxX.Y)/../dax_region/delete 124Date: October, 2020 125KernelVersion: v5.10 126Contact: [email protected] 127Description: 128 (WO) The delete interface for a dax region provides for deletion 129 of any 0-sized and idle dax devices. 130 131What: $(readlink -f /sys/bus/dax/devices/daxX.Y)/../dax_region/id 132Date: July, 2017 133KernelVersion: v5.1 134Contact: [email protected] 135Description: 136 (RO) The id attribute indicates the region id of a dax region. 137 138What: /sys/bus/dax/devices/daxX.Y/memmap_on_memory 139Date: January, 2024 140KernelVersion: v6.8 141Contact: [email protected] 142Description: 143 (RW) Control the memmap_on_memory setting if the dax device 144 were to be hotplugged as system memory. This determines whether 145 the 'altmap' for the hotplugged memory will be placed on the 146 device being hotplugged (memmap_on_memory=1) or if it will be 147 placed on regular memory (memmap_on_memory=0). This attribute 148 must be set before the device is handed over to the 'kmem' 149 driver (i.e. hotplugged into system-ram). Additionally, this 150 depends on CONFIG_MHP_MEMMAP_ON_MEMORY, and a globally enabled 151 memmap_on_memory parameter for memory_hotplug. This is 152 typically set on the kernel command line - 153 memory_hotplug.memmap_on_memory set to 'true' or 'force'." 154