blob: 0897ad12c11917f53578ceea06e1e2788b88983e [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
21 printk-formats
22 symbol-namespaces
23
24Data structures and low-level utilities
25=======================================
26
27Library functionality that is used throughout the kernel.
28
29.. toctree::
30 :maxdepth: 1
31
Sameer Rahmani5fed00d2020-02-25 22:21:25 +000032 kobject
Silvio Frickec3cbf1a2016-11-28 18:30:53 +010033 assoc_array
Matthew Wilcox992a8e62017-11-23 22:57:20 -050034 xarray
Jonathan Corbet5e720172020-03-02 15:17:17 -070035 idr
Mauro Carvalho Chehabd8a121e2018-05-07 06:35:43 -030036 circular-buffers
Kent Overstreetba20ba22019-03-11 23:31:14 -070037 generic-radix-tree
Jonathan Corbet5e720172020-03-02 15:17:17 -070038 packing
39 timekeeping
40 errseq
41
42Concurrency primitives
43======================
44
45How Linux keeps everything from happening at the same time. See
46:doc:`/locking/index` for more related documentation.
47
48.. toctree::
49 :maxdepth: 1
50
51 atomic_ops
52 refcount-vs-atomic
53 local_ops
54 padata
55 ../RCU/index
56
57Low-level hardware management
58=============================
59
60Cache management, managing CPU hotplug, etc.
61
62.. toctree::
63 :maxdepth: 1
64
65 cachetlb
66 cpu_hotplug
67 memory-hotplug
68 genericirq
69 protection-keys
70
71Memory management
72=================
73
74How to allocate and use memory in the kernel. Note that there is a lot
75more memory-management documentation in :doc:`/vm/index`.
76
77.. toctree::
78 :maxdepth: 1
79
Mike Rapoport52272c92018-09-14 12:27:58 +030080 memory-allocation
Mike Rapoport41f35b32018-08-23 17:01:12 -070081 mm-api
Jonathan Corbet5e720172020-03-02 15:17:17 -070082 genalloc
John Hubbardeddb1c22020-01-30 22:12:54 -080083 pin_user_pages
Mike Rapoportae9d8842018-06-30 17:55:06 +030084 boot-time-mm
Jonathan Corbet5e720172020-03-02 15:17:17 -070085 gfp_mask-from-fs-io
Silvio Frickee7f08ff2016-10-28 10:14:11 +020086
Jonathan Corbet93dc3a12016-11-18 17:06:13 -070087Interfaces for kernel debugging
88===============================
89
90.. toctree::
91 :maxdepth: 1
92
Jonathan Corbetd6ba7a92016-11-18 17:21:32 -070093 debug-objects
94 tracepoint
Jonathan Corbet93dc3a12016-11-18 17:06:13 -070095
Jonathan Corbet5e720172020-03-02 15:17:17 -070096Everything else
97===============
98
99Documents that don't fit elsewhere or which have yet to be categorized.
100
101.. toctree::
102 :maxdepth: 1
103
104 librs
Jonathan Corbet5e720172020-03-02 15:17:17 -0700105
Mauro Carvalho Chehab9c970ab2019-07-26 09:51:29 -0300106.. only:: subproject and html
Silvio Fricke24755a52016-10-28 10:14:10 +0200107
108 Indices
109 =======
110
111 * :ref:`genindex`