blob: 2cfd07a34173b9c154e25fc4939ec06773b91a4a [file] [log] [blame]
Silvio Fricke24755a52016-10-28 10:14:10 +02001======================
Jonathan Corbet93dc3a12016-11-18 17:06:13 -07002Core API Documentation
Silvio Fricke24755a52016-10-28 10:14:10 +02003======================
4
Jonathan Corbet93dc3a12016-11-18 17:06:13 -07005This 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==============
Silvio Fricke24755a52016-10-28 10:14:10 +020010
Jonathan Corbet5e720172020-03-02 15:17:17 -070011This 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
Silvio Fricke24755a52016-10-28 10:14:10 +020016.. toctree::
17 :maxdepth: 1
18
Mauro Carvalho Chehabbaca8a02017-03-30 17:11:32 -030019 kernel-api
Jonathan Corbet5e720172020-03-02 15:17:17 -070020 workqueue
Ricardo CaƱuelo90c165f2020-04-03 11:36:17 +020021 printk-basics
Jonathan Corbet5e720172020-03-02 15:17:17 -070022 printk-formats
23 symbol-namespaces
24
25Data structures and low-level utilities
26=======================================
27
28Library functionality that is used throughout the kernel.
29
30.. toctree::
31 :maxdepth: 1
32
Sameer Rahmani5fed00d2020-02-25 22:21:25 +000033 kobject
Silvio Frickec3cbf1a2016-11-28 18:30:53 +010034 assoc_array
Matthew Wilcox992a8e62017-11-23 22:57:20 -050035 xarray
Jonathan Corbet5e720172020-03-02 15:17:17 -070036 idr
Mauro Carvalho Chehabd8a121e2018-05-07 06:35:43 -030037 circular-buffers
Matthew Wilcox (Oracle)14bbe3e2020-04-01 10:33:43 -070038 rbtree
Kent Overstreetba20ba22019-03-11 23:31:14 -070039 generic-radix-tree
Jonathan Corbet5e720172020-03-02 15:17:17 -070040 packing
41 timekeeping
42 errseq
43
44Concurrency primitives
45======================
46
47How Linux keeps everything from happening at the same time. See
48:doc:`/locking/index` for more related documentation.
49
50.. toctree::
51 :maxdepth: 1
52
53 atomic_ops
54 refcount-vs-atomic
55 local_ops
56 padata
57 ../RCU/index
58
59Low-level hardware management
60=============================
61
62Cache management, managing CPU hotplug, etc.
63
64.. toctree::
65 :maxdepth: 1
66
67 cachetlb
68 cpu_hotplug
69 memory-hotplug
70 genericirq
71 protection-keys
72
73Memory management
74=================
75
76How to allocate and use memory in the kernel. Note that there is a lot
77more memory-management documentation in :doc:`/vm/index`.
78
79.. toctree::
80 :maxdepth: 1
81
Mike Rapoport52272c92018-09-14 12:27:58 +030082 memory-allocation
Mauro Carvalho Chehab728c1472020-05-01 17:37:45 +020083 dma-api
84 dma-api-howto
85 dma-attributes
86 dma-isa-lpc
Mike Rapoport41f35b32018-08-23 17:01:12 -070087 mm-api
Jonathan Corbet5e720172020-03-02 15:17:17 -070088 genalloc
John Hubbardeddb1c22020-01-30 22:12:54 -080089 pin_user_pages
Mike Rapoportae9d8842018-06-30 17:55:06 +030090 boot-time-mm
Jonathan Corbet5e720172020-03-02 15:17:17 -070091 gfp_mask-from-fs-io
Silvio Frickee7f08ff2016-10-28 10:14:11 +020092
Jonathan Corbet93dc3a12016-11-18 17:06:13 -070093Interfaces for kernel debugging
94===============================
95
96.. toctree::
97 :maxdepth: 1
98
Jonathan Corbetd6ba7a92016-11-18 17:21:32 -070099 debug-objects
100 tracepoint
Mauro Carvalho Chehaba74e2a22020-05-01 17:37:50 +0200101 debugging-via-ohci1394
Jonathan Corbet93dc3a12016-11-18 17:06:13 -0700102
Jonathan Corbet5e720172020-03-02 15:17:17 -0700103Everything else
104===============
105
106Documents that don't fit elsewhere or which have yet to be categorized.
107
108.. toctree::
109 :maxdepth: 1
110
111 librs
Jonathan Corbet5e720172020-03-02 15:17:17 -0700112
Mauro Carvalho Chehab9c970ab2019-07-26 09:51:29 -0300113.. only:: subproject and html
Silvio Fricke24755a52016-10-28 10:14:10 +0200114
115 Indices
116 =======
117
118 * :ref:`genindex`