xref: /linux/Documentation/core-api/index.rst (revision 69050f8d6d075dc01af7a5f2f550a8067510366f)
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
85Low-level hardware management
86=============================
87
88Cache management, managing CPU hotplug, etc.
89
90.. toctree::
91   :maxdepth: 1
92
93   cachetlb
94   cpu_hotplug
95   memory-hotplug
96   genericirq
97   protection-keys
98
99Memory management
100=================
101
102How to allocate and use memory in the kernel.  Note that there is a lot
103more memory-management documentation in Documentation/mm/index.rst.
104
105.. toctree::
106   :maxdepth: 1
107
108   memory-allocation
109   unaligned-memory-access
110   dma-api
111   dma-api-howto
112   dma-attributes
113   dma-isa-lpc
114   swiotlb
115   mm-api
116   cgroup
117   genalloc
118   pin_user_pages
119   boot-time-mm
120   gfp_mask-from-fs-io
121   kho/index
122
123Interfaces for kernel debugging
124===============================
125
126.. toctree::
127   :maxdepth: 1
128
129   debug-objects
130   tracepoint
131   debugging-via-ohci1394
132
133Everything else
134===============
135
136Documents that don't fit elsewhere or which have yet to be categorized.
137
138.. toctree::
139   :maxdepth: 1
140
141   librs
142   liveupdate
143   netlink
144