Skip to content

Commit 51e7849

Browse files
stellarhopperakpm00
authored andcommitted
Documentatiion/ABI: add ABI documentation for sys-bus-dax
Add the missing sysfs ABI documentation for the device DAX subsystem. Various ABI attributes under this have been present since v5.1, and more have been added over time. In preparation for adding a new attribute, add this file with the historical details. Link: https://lkml.kernel.org/r/20240124-vv-dax_abi-v7-3-20d16cb8d23d@intel.com Signed-off-by: Vishal Verma <vishal.l.verma@intel.com> Cc: Dan Williams <dan.j.williams@intel.com> Cc: Dave Hansen <dave.hansen@linux.intel.com> Cc: Dave Jiang <dave.jiang@intel.com> Cc: David Hildenbrand <david@redhat.com> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: Huang Ying <ying.huang@intel.com> Cc: Jonathan Cameron <Jonathan.Cameron@huawei.com> Cc: Li Zhijian <lizhijian@fujitsu.com> Cc: Matthew Wilcox (Oracle) <willy@infradead.org> Cc: Michal Hocko <mhocko@suse.com> Cc: Oscar Salvador <osalvador@suse.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
1 parent 6ebed00 commit 51e7849

File tree

1 file changed

+136
-0
lines changed

1 file changed

+136
-0
lines changed
Lines changed: 136 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,136 @@
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.
9+
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>.
17+
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.
32+
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.
42+
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.
52+
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.
61+
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.
73+
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.
83+
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.
91+
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.
102+
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.
113+
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.
122+
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.
130+
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.

0 commit comments

Comments
 (0)