xref: /linux/Documentation/core-api/index.rst (revision 8b00d6fe96960aaba1b923d4a8c1ddb173c9c1ff)
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   real-time/index
28
29Data structures and low-level utilities
30=======================================
31
32Library functionality that is used throughout the kernel.
33
34.. toctree::
35   :maxdepth: 1
36
37   kobject
38   kref
39   cleanup
40   assoc_array
41   folio_queue
42   xarray
43   maple_tree
44   idr
45   circular-buffers
46   rbtree
47   generic-radix-tree
48   packing
49   this_cpu_ops
50   timekeeping
51   errseq
52   wrappers/atomic_t
53   wrappers/atomic_bitops
54   floating-point
55   union_find
56   min_heap
57   parser
58   list
59
60Low level entry and exit
61========================
62
63.. toctree::
64   :maxdepth: 1
65
66   entry
67
68Concurrency primitives
69======================
70
71How Linux keeps everything from happening at the same time.  See
72Documentation/locking/index.rst for more related documentation.
73
74.. toctree::
75   :maxdepth: 1
76
77   refcount-vs-atomic
78   irq/index
79   local_ops
80   padata
81   ../RCU/index
82   wrappers/memory-barriers.rst
83
84Low-level hardware management
85=============================
86
87Cache management, managing CPU hotplug, etc.
88
89.. toctree::
90   :maxdepth: 1
91
92   cachetlb
93   cpu_hotplug
94   memory-hotplug
95   genericirq
96   protection-keys
97
98Memory management
99=================
100
101How to allocate and use memory in the kernel.  Note that there is a lot
102more memory-management documentation in Documentation/mm/index.rst.
103
104.. toctree::
105   :maxdepth: 1
106
107   memory-allocation
108   unaligned-memory-access
109   dma-api
110   dma-api-howto
111   dma-attributes
112   dma-isa-lpc
113   swiotlb
114   mm-api
115   cgroup
116   genalloc
117   pin_user_pages
118   boot-time-mm
119   gfp_mask-from-fs-io
120   kho/index
121
122Interfaces for kernel debugging
123===============================
124
125.. toctree::
126   :maxdepth: 1
127
128   debug-objects
129   tracepoint
130   debugging-via-ohci1394
131
132Everything else
133===============
134
135Documents that don't fit elsewhere or which have yet to be categorized.
136
137.. toctree::
138   :maxdepth: 1
139
140   librs
141   netlink
142
143.. only:: subproject and html
144
145   Indices
146   =======
147
148   * :ref:`genindex`
149