The Linux Kernel

next-20230328

Quick search

Contents

  • A guide to the Kernel Development Process
  • Submitting patches: the essential guide to getting your code into the kernel
  • Code of conduct
  • Kernel Maintainer Handbook
  • All development-process docs
  • Core API Documentation
  • Driver implementer’s API guide
  • Kernel subsystem documentation
  • Locking in the kernel
  • Linux kernel licensing rules
  • How to write kernel documentation
  • Development tools for the kernel
  • Kernel Testing Guide
  • Kernel Hacking Guides
    • Unreliable Guide To Hacking The Linux Kernel
    • Unreliable Guide To Locking
  • Linux Tracing Technologies
  • fault-injection
  • Kernel Livepatching
  • Rust
  • The Linux kernel user’s and administrator’s guide
  • The kernel build system
  • Reporting issues
  • User-space tools
  • The Linux kernel user-space API guide
  • The Linux kernel firmware guide
  • Open Firmware and Devicetree
  • CPU Architectures
  • Unsorted Documentation
  • ELF
  • Translations

This Page

  • Show Source

Kernel Hacking Guides¶

  • Unreliable Guide To Hacking The Linux Kernel
    • Introduction
    • The Players
    • Some Basic Rules
    • ioctls: Not writing a new system call
    • Recipes for Deadlock
    • Common Routines
    • Wait Queues include/linux/wait.h
    • Atomic Operations
    • Symbols
    • Routines and Conventions
    • Putting Your Stuff in the Kernel
    • Kernel Cantrips
    • Thanks
  • Unreliable Guide To Locking
    • Introduction
    • The Problem With Concurrency
    • Locking in the Linux Kernel
    • Hard IRQ Context
    • Cheat Sheet For Locking
    • The trylock Functions
    • Common Examples
    • Common Problems
    • Locking Speed
    • What Functions Are Safe To Call From Interrupts?
    • Mutex API reference
    • Futex API reference
    • Further reading
    • Thanks
    • Glossary
©The kernel development community. | Powered by Sphinx 5.0.1 & Alabaster 0.7.12 | Page source