xref: /linux/Documentation/core-api/index.rst (revision f96a974170b749e3a56844e25b31d46a7233b6f6)
1======================
2Core API Documentation
3======================
4
5This is the beginning of a manual for core kernel APIs.  The conversion
6(and writing!) of documents for this manual is much appreciated!
7
8Core utilities
9==============
10
11This section has general and "core core" documentation.  The first is a
12massive grab-bag of kerneldoc info left over from the docbook days; it
13should really be broken up someday when somebody finds the energy to do
14it.
15
16.. toctree::
17   :maxdepth: 1
18
19   kernel-api
20   workqueue
21   watch_queue
22   printk-basics
23   printk-formats
24   printk-index
25   symbol-namespaces
26   asm-annotations
27
28Data structures and low-level utilities
29=======================================
30
31Library functionality that is used throughout the kernel.
32
33.. toctree::
34   :maxdepth: 1
35
36   kobject
37   kref
38   cleanup
39   assoc_array
40   folio_queue
41   xarray
42   maple_tree
43   idr
44   circular-buffers
45   rbtree
46   generic-radix-tree
47   packing
48   this_cpu_ops
49   timekeeping
50   errseq
51   wrappers/atomic_t
52   wrappers/atomic_bitops
53   floating-point
54   union_find
55   min_heap
56   parser
57
58Low level entry and exit
59========================
60
61.. toctree::
62   :maxdepth: 1
63
64   entry
65
66Concurrency primitives
67======================
68
69How Linux keeps everything from happening at the same time.  See
70Documentation/locking/index.rst for more related documentation.
71
72.. toctree::
73   :maxdepth: 1
74
75   refcount-vs-atomic
76   irq/index
77   local_ops
78   padata
79   ../RCU/index
80   wrappers/memory-barriers.rst
81
82Low-level hardware management
83=============================
84
85Cache management, managing CPU hotplug, etc.
86
87.. toctree::
88   :maxdepth: 1
89
90   cachetlb
91   cpu_hotplug
92   memory-hotplug
93   genericirq
94   protection-keys
95
96Memory management
97=================
98
99How to allocate and use memory in the kernel.  Note that there is a lot
100more memory-management documentation in Documentation/mm/index.rst.
101
102.. toctree::
103   :maxdepth: 1
104
105   memory-allocation
106   unaligned-memory-access
107   dma-api
108   dma-api-howto
109   dma-attributes
110   dma-isa-lpc
111   swiotlb
112   mm-api
113   cgroup
114   genalloc
115   pin_user_pages
116   boot-time-mm
117   gfp_mask-from-fs-io
118
119Interfaces for kernel debugging
120===============================
121
122.. toctree::
123   :maxdepth: 1
124
125   debug-objects
126   tracepoint
127   debugging-via-ohci1394
128
129Everything else
130===============
131
132Documents that don't fit elsewhere or which have yet to be categorized.
133
134.. toctree::
135   :maxdepth: 1
136
137   librs
138   netlink
139
140.. only:: subproject and html
141
142   Indices
143   =======
144
145   * :ref:`genindex`
146