Logo

The Linux Kernel

6.12.0-rc1

Quick search

Contents

  • Development process
  • Submitting patches
  • Code of conduct
  • Maintainer handbook
  • All development-process docs
  • Core API
  • Driver APIs
  • Subsystems
  • Locking
  • Licensing rules
  • Writing documentation
  • Development tools
  • Testing guide
  • Hacking guide
    • Unreliable Guide To Hacking The Linux Kernel
    • Unreliable Guide To Locking
    • False Sharing
  • Tracing
  • Fault injection
  • Livepatching
  • Rust
  • Administration
  • Build system
  • Reporting issues
  • Userspace tools
  • Userspace API
  • Firmware
  • Firmware and Devicetree
  • CPU architectures
  • Unsorted documentation
  • Translations

This Page

  • Show Source
English
  • Chinese (Simplified)
  • Italian

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
  • False Sharing
    • What is False Sharing
    • False Sharing Pitfalls
    • How to detect and analyze False Sharing
    • Possible Mitigations
    • Miscellaneous
©The kernel development community. | Powered by Sphinx 5.3.0 & Alabaster 0.7.12 | Page source