GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • The Linux Kernel
  • Development process
  • Submitting patches
  • Code of conduct
  • Maintainer handbook
  • All development-process docs
  • Core API
  • The Linux Kernel API
  • Workqueue
  • General notification mechanism
  • Message logging with printk
  • How to get printk format specifiers right
  • Printk Index
  • Symbol Namespaces

This view

  • Original page
  • New address

GeezerVison is showing docs.kernel.org — Core API Documentation — The Linux Kernel documentation

English
  • Chinese (Simplified)
  • Italian

Core API Documentation¶

This is the beginning of a manual for core kernel APIs. The conversion (and writing!) of documents for this manual is much appreciated!

Core utilities¶

This section has general and “core core” documentation. The first is a massive grab-bag of kerneldoc info left over from the docbook days; it should really be broken up someday when somebody finds the energy to do it.

  • The Linux Kernel API
  • Workqueue
  • General notification mechanism
  • Message logging with printk
  • How to get printk format specifiers right
  • Printk Index
  • Symbol Namespaces
  • Assembler Annotations
  • Real-time preemption
  • Housekeeping

Data structures and low-level utilities¶

Library functionality that is used throughout the kernel.

  • Everything you never wanted to know about kobjects, ksets, and ktypes
  • Adding reference counters (krefs) to kernel objects
  • Scope-based Cleanup Helpers
  • Generic Associative Array Implementation
  • Folio Queue
  • XArray
  • Maple Tree
  • ID Allocation
  • Circular Buffers
  • Red-black Trees (rbtree) in Linux
  • Generic radix trees/sparse arrays
  • Generic bitfield packing and unpacking functions
  • this_cpu operations
  • ktime accessors
  • The errseq_t datatype
  • Atomic types
  • Atomic bitops
  • Floating-point API
  • Union-Find in Linux
  • Min Heap API
  • Generic parser
  • Linked Lists in Linux

Low level entry and exit¶

  • Entry/exit handling for exceptions, interrupts, syscalls and KVM

Concurrency primitives¶

How Linux keeps everything from happening at the same time. See Locking for more related documentation.

  • refcount_t API compared to atomic_t
  • IRQs
  • Semantics and Behavior of Local Atomic Operations
  • The padata parallel execution mechanism
  • RCU Handbook
  • Linux kernel memory barriers
  • SMP primitives

Low-level hardware management¶

Cache management, managing CPU hotplug, etc.

  • Cache and TLB Flushing Under Linux
  • CPU hotplug in the Kernel
  • Memory hotplug
  • Linux generic IRQ handling
  • Memory Protection Keys

Memory management¶

How to allocate and use memory in the kernel. Note that there is a lot more memory-management documentation in Memory Management Documentation.

  • Memory Allocation Guide
  • Unaligned Memory Accesses
  • Dynamic DMA mapping using the generic device
  • Dynamic DMA mapping Guide
  • DMA attributes
  • DMA with ISA and LPC devices
  • DMA and swiotlb
  • Memory Management APIs
  • Cgroup Kernel APIs
  • The genalloc/genpool subsystem
  • pin_user_pages() and related calls
  • Boot time memory management
  • GFP masks used from FS/IO context
  • Kexec Handover Subsystem

Interfaces for kernel debugging¶

  • The object-lifetime debugging infrastructure
  • The Linux Kernel Tracepoint API
  • Using physical DMA provided by OHCI-1394 FireWire controllers for debugging

Everything else¶

Documents that don’t fit elsewhere or which have yet to be categorized.

  • Reed-Solomon Library Programming Interface
  • Live Update Orchestrator
  • Netlink notes for kernel developers
©The kernel development community. | Powered by Sphinx 5.3.0 & Alabaster 0.7.16 | Page source
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.