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