124755a55SSilvio Fricke====================== 293dc3a11SJonathan CorbetCore API Documentation 324755a55SSilvio Fricke====================== 424755a55SSilvio Fricke 593dc3a11SJonathan CorbetThis is the beginning of a manual for core kernel APIs. The conversion 693dc3a11SJonathan Corbet(and writing!) of documents for this manual is much appreciated! 793dc3a11SJonathan Corbet 893dc3a11SJonathan CorbetCore utilities 993dc3a11SJonathan Corbet============== 1024755a55SSilvio Fricke 11*5e720172SJonathan CorbetThis section has general and "core core" documentation. The first is a 12*5e720172SJonathan Corbetmassive grab-bag of kerneldoc info left over from the docbook days; it 13*5e720172SJonathan Corbetshould really be broken up someday when somebody finds the energy to do 14*5e720172SJonathan Corbetit. 15*5e720172SJonathan Corbet 1624755a55SSilvio Fricke.. toctree:: 1724755a55SSilvio Fricke :maxdepth: 1 1824755a55SSilvio Fricke 19baca8a0cSMauro Carvalho Chehab kernel-api 20*5e720172SJonathan Corbet workqueue 21*5e720172SJonathan Corbet printk-formats 22*5e720172SJonathan Corbet symbol-namespaces 23*5e720172SJonathan Corbet 24*5e720172SJonathan CorbetData structures and low-level utilities 25*5e720172SJonathan Corbet======================================= 26*5e720172SJonathan Corbet 27*5e720172SJonathan CorbetLibrary functionality that is used throughout the kernel. 28*5e720172SJonathan Corbet 29*5e720172SJonathan Corbet.. toctree:: 30*5e720172SJonathan Corbet :maxdepth: 1 31*5e720172SJonathan Corbet 325fed00dcSSameer Rahmani kobject 33c3cbf1a7SSilvio Fricke assoc_array 34992a8e60SMatthew Wilcox xarray 35*5e720172SJonathan Corbet idr 36d8a121e3SMauro Carvalho Chehab circular-buffers 37ba20ba2eSKent Overstreet generic-radix-tree 38*5e720172SJonathan Corbet packing 39*5e720172SJonathan Corbet timekeeping 40*5e720172SJonathan Corbet errseq 41*5e720172SJonathan Corbet 42*5e720172SJonathan CorbetConcurrency primitives 43*5e720172SJonathan Corbet====================== 44*5e720172SJonathan Corbet 45*5e720172SJonathan CorbetHow Linux keeps everything from happening at the same time. See 46*5e720172SJonathan Corbet:doc:`/locking/index` for more related documentation. 47*5e720172SJonathan Corbet 48*5e720172SJonathan Corbet.. toctree:: 49*5e720172SJonathan Corbet :maxdepth: 1 50*5e720172SJonathan Corbet 51*5e720172SJonathan Corbet atomic_ops 52*5e720172SJonathan Corbet refcount-vs-atomic 53*5e720172SJonathan Corbet local_ops 54*5e720172SJonathan Corbet padata 55*5e720172SJonathan Corbet ../RCU/index 56*5e720172SJonathan Corbet 57*5e720172SJonathan CorbetLow-level hardware management 58*5e720172SJonathan Corbet============================= 59*5e720172SJonathan Corbet 60*5e720172SJonathan CorbetCache management, managing CPU hotplug, etc. 61*5e720172SJonathan Corbet 62*5e720172SJonathan Corbet.. toctree:: 63*5e720172SJonathan Corbet :maxdepth: 1 64*5e720172SJonathan Corbet 65*5e720172SJonathan Corbet cachetlb 66*5e720172SJonathan Corbet cpu_hotplug 67*5e720172SJonathan Corbet memory-hotplug 68*5e720172SJonathan Corbet genericirq 69*5e720172SJonathan Corbet protection-keys 70*5e720172SJonathan Corbet 71*5e720172SJonathan CorbetMemory management 72*5e720172SJonathan Corbet================= 73*5e720172SJonathan Corbet 74*5e720172SJonathan CorbetHow to allocate and use memory in the kernel. Note that there is a lot 75*5e720172SJonathan Corbetmore memory-management documentation in :doc:`/vm/index`. 76*5e720172SJonathan Corbet 77*5e720172SJonathan Corbet.. toctree:: 78*5e720172SJonathan Corbet :maxdepth: 1 79*5e720172SJonathan Corbet 8052272c92SMike Rapoport memory-allocation 8141f35b39SMike Rapoport mm-api 82*5e720172SJonathan Corbet genalloc 83eddb1c22SJohn Hubbard pin_user_pages 84ae9d8845SMike Rapoport boot-time-mm 85*5e720172SJonathan Corbet gfp_mask-from-fs-io 86e7f08ffbSSilvio Fricke 8793dc3a11SJonathan CorbetInterfaces for kernel debugging 8893dc3a11SJonathan Corbet=============================== 8993dc3a11SJonathan Corbet 9093dc3a11SJonathan Corbet.. toctree:: 9193dc3a11SJonathan Corbet :maxdepth: 1 9293dc3a11SJonathan Corbet 9393dc3a11SJonathan Corbet debug-objects 94d6ba7a9cSJonathan Corbet tracepoint 9593dc3a11SJonathan Corbet 96*5e720172SJonathan CorbetEverything else 97*5e720172SJonathan Corbet=============== 98*5e720172SJonathan Corbet 99*5e720172SJonathan CorbetDocuments that don't fit elsewhere or which have yet to be categorized. 100*5e720172SJonathan Corbet 101*5e720172SJonathan Corbet.. toctree:: 102*5e720172SJonathan Corbet :maxdepth: 1 103*5e720172SJonathan Corbet 104*5e720172SJonathan Corbet librs 105*5e720172SJonathan Corbet gcc-plugins 106*5e720172SJonathan Corbet ioctl 107*5e720172SJonathan Corbet 1089c970ab5SMauro Carvalho Chehab.. only:: subproject and html 10924755a55SSilvio Fricke 11024755a55SSilvio Fricke Indices 11124755a55SSilvio Fricke ======= 11224755a55SSilvio Fricke 11324755a55SSilvio Fricke * :ref:`genindex` 114