Merge tag 'trace-printf-v6.13' of git://git.kernel.org/pub/scm/linux/kernel/git/trace...
[drm/drm-misc.git] / Documentation / ABI / testing / sysfs-bus-dax
blobb34266bfae49ae3be71c2dc73ba0b875fbb69354
1 What:           /sys/bus/dax/devices/daxX.Y/align
2 Date:           October, 2020
3 KernelVersion:  v5.10
4 Contact:        nvdimm@lists.linux.dev
5 Description:
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.
10 What:           /sys/bus/dax/devices/daxX.Y/mapping
11 Date:           October, 2020
12 KernelVersion:  v5.10
13 Contact:        nvdimm@lists.linux.dev
14 Description:
15                 (WO) Provides a way to allocate a mapping range under a dax
16                 device. Specified in the format <start>-<end>.
18 What:           /sys/bus/dax/devices/daxX.Y/mapping[0..N]/start
19 What:           /sys/bus/dax/devices/daxX.Y/mapping[0..N]/end
20 What:           /sys/bus/dax/devices/daxX.Y/mapping[0..N]/page_offset
21 Date:           October, 2020
22 KernelVersion:  v5.10
23 Contact:        nvdimm@lists.linux.dev
24 Description:
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.
33 What:           /sys/bus/dax/devices/daxX.Y/resource
34 Date:           June, 2019
35 KernelVersion:  v5.3
36 Contact:        nvdimm@lists.linux.dev
37 Description:
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.
43 What:           /sys/bus/dax/devices/daxX.Y/size
44 Date:           October, 2020
45 KernelVersion:  v5.10
46 Contact:        nvdimm@lists.linux.dev
47 Description:
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.
53 What:           /sys/bus/dax/devices/daxX.Y/numa_node
54 Date:           November, 2019
55 KernelVersion:  v5.5
56 Contact:        nvdimm@lists.linux.dev
57 Description:
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.
62 What:           /sys/bus/dax/devices/daxX.Y/target_node
63 Date:           February, 2019
64 KernelVersion:  v5.1
65 Contact:        nvdimm@lists.linux.dev
66 Description:
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.
74 What:           $(readlink -f /sys/bus/dax/devices/daxX.Y)/../dax_region/available_size
75 Date:           October, 2020
76 KernelVersion:  v5.10
77 Contact:        nvdimm@lists.linux.dev
78 Description:
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.
84 What:           $(readlink -f /sys/bus/dax/devices/daxX.Y)/../dax_region/size
85 Date:           July, 2017
86 KernelVersion:  v5.1
87 Contact:        nvdimm@lists.linux.dev
88 Description:
89                 (RO) The size attribute indicates the size of a given dax region
90                 in bytes.
92 What:           $(readlink -f /sys/bus/dax/devices/daxX.Y)/../dax_region/align
93 Date:           October, 2020
94 KernelVersion:  v5.10
95 Contact:        nvdimm@lists.linux.dev
96 Description:
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.
103 What:           $(readlink -f /sys/bus/dax/devices/daxX.Y)/../dax_region/seed
104 Date:           October, 2020
105 KernelVersion:  v5.10
106 Contact:        nvdimm@lists.linux.dev
107 Description:
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.
114 What:           $(readlink -f /sys/bus/dax/devices/daxX.Y)/../dax_region/create
115 Date:           October, 2020
116 KernelVersion:  v5.10
117 Contact:        nvdimm@lists.linux.dev
118 Description:
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.
123 What:           $(readlink -f /sys/bus/dax/devices/daxX.Y)/../dax_region/delete
124 Date:           October, 2020
125 KernelVersion:  v5.10
126 Contact:        nvdimm@lists.linux.dev
127 Description:
128                 (WO) The delete interface for a dax region provides for deletion
129                 of any 0-sized and idle dax devices.
131 What:           $(readlink -f /sys/bus/dax/devices/daxX.Y)/../dax_region/id
132 Date:           July, 2017
133 KernelVersion:  v5.1
134 Contact:        nvdimm@lists.linux.dev
135 Description:
136                 (RO) The id attribute indicates the region id of a dax region.
138 What:           /sys/bus/dax/devices/daxX.Y/memmap_on_memory
139 Date:           January, 2024
140 KernelVersion:  v6.8
141 Contact:        nvdimm@lists.linux.dev
142 Description:
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'."