blob: 69171b1799f21464322ff150a41e3b39e4978b2b [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
Mauro Carvalho Chehab1ac00662020-05-01 17:37:52 +020034 kref
Silvio Frickec3cbf1a2016-11-28 18:30:53 +010035 assoc_array
Matthew Wilcox992a8e62017-11-23 22:57:20 -050036 xarray
Jonathan Corbet5e720172020-03-02 15:17:17 -070037 idr
Mauro Carvalho Chehabd8a121e2018-05-07 06:35:43 -030038 circular-buffers
Matthew Wilcox (Oracle)14bbe3e2020-04-01 10:33:43 -070039 rbtree
Kent Overstreetba20ba22019-03-11 23:31:14 -070040 generic-radix-tree
Jonathan Corbet5e720172020-03-02 15:17:17 -070041 packing
Mauro Carvalho Chehabc9b54d62020-06-23 15:31:38 +020042 bus-virt-phys-mapping
43 this_cpu_ops
Jonathan Corbet5e720172020-03-02 15:17:17 -070044 timekeeping
45 errseq
46
47Concurrency primitives
48======================
49
50How Linux keeps everything from happening at the same time. See
51:doc:`/locking/index` for more related documentation.
52
53.. toctree::
54 :maxdepth: 1
55
56 atomic_ops
57 refcount-vs-atomic
Mauro Carvalho Chehabe00b0ab2020-05-01 17:37:51 +020058 irq/index
Jonathan Corbet5e720172020-03-02 15:17:17 -070059 local_ops
60 padata
61 ../RCU/index
62
63Low-level hardware management
64=============================
65
66Cache management, managing CPU hotplug, etc.
67
68.. toctree::
69 :maxdepth: 1
70
71 cachetlb
72 cpu_hotplug
73 memory-hotplug
74 genericirq
75 protection-keys
76
77Memory management
78=================
79
80How to allocate and use memory in the kernel. Note that there is a lot
81more memory-management documentation in :doc:`/vm/index`.
82
83.. toctree::
84 :maxdepth: 1
85
Mike Rapoport52272c92018-09-14 12:27:58 +030086 memory-allocation
Mauro Carvalho Chehabc9b54d62020-06-23 15:31:38 +020087 unaligned-memory-access
Mauro Carvalho Chehab728c1472020-05-01 17:37:45 +020088 dma-api
89 dma-api-howto
90 dma-attributes
91 dma-isa-lpc
Mike Rapoport41f35b32018-08-23 17:01:12 -070092 mm-api
Jonathan Corbet5e720172020-03-02 15:17:17 -070093 genalloc
John Hubbardeddb1c22020-01-30 22:12:54 -080094 pin_user_pages
Mike Rapoportae9d8842018-06-30 17:55:06 +030095 boot-time-mm
Jonathan Corbet5e720172020-03-02 15:17:17 -070096 gfp_mask-from-fs-io
Silvio Frickee7f08ff2016-10-28 10:14:11 +020097
Jonathan Corbet93dc3a12016-11-18 17:06:13 -070098Interfaces for kernel debugging
99===============================
100
101.. toctree::
102 :maxdepth: 1
103
Jonathan Corbetd6ba7a92016-11-18 17:21:32 -0700104 debug-objects
105 tracepoint
Mauro Carvalho Chehaba74e2a22020-05-01 17:37:50 +0200106 debugging-via-ohci1394
Jonathan Corbet93dc3a12016-11-18 17:06:13 -0700107
Jonathan Corbet5e720172020-03-02 15:17:17 -0700108Everything else
109===============
110
111Documents that don't fit elsewhere or which have yet to be categorized.
112
113.. toctree::
114 :maxdepth: 1
115
116 librs
Jonathan Corbet5e720172020-03-02 15:17:17 -0700117
Mauro Carvalho Chehab9c970ab2019-07-26 09:51:29 -0300118.. only:: subproject and html
Silvio Fricke24755a52016-10-28 10:14:10 +0200119
120 Indices
121 =======
122
123 * :ref:`genindex`