Linux Kernel Notes
  • README
  • concepts
    • interrupts
    • syscalls
      • Implementation
      • Syscalls
      • Userspace from syscalls
      • vDSO and virtual syscalls
  • core-apis
    • core-apis
    • kobjects
    • core-utilities
      • Notification Mechanism
      • printk
      • Symbols and Assembler Notations
      • Workqueue
  • debugging-tracing
    • debugging
    • ebpf-tracing
    • finding-bugs
    • syzkaller
    • tracing
  • extras
    • rcu
  • implementations
    • pipes
  • lkmp
    • Prerequisites
    • Linux Kernel Mentorship
    • Setting up for kernel development
  • misc
    • Current
    • What is KABI or (Kernel ABI) ?
    • noinstr
    • this_cpu
  • subsystems
    • device-tree
      • Device Tree YAML Components
      • Testing yaml dtschemas
Powered by GitBook
On this page
Edit on GitHub
  1. core-apis
  2. core-utilities

Notification Mechanism

Previouscore-utilitiesNextprintk

Last updated 1 year ago

  • Built on top of the standard pipe driver

  • can be enabled by CONFIG_WATCH_QUEUE

  • is disabled on these pipes to prevent inter-leaving of kernel messages

  • owner of the pipe has to tell the kernel, the sources from which it would like to get notifications

  • a message will be discarded if there isn’t a slot available in the ring or if no preallocated message buffer is available. In both of these cases

  • the kernel does not wait for the consumers to collect it, but rather just continues on.

    • This means that notifications can be generated whilst spinlocks are held and also protects the kernel from being held up indefinitely by a userspace malfunction.

Please refer for information on Mesage Structure, Watch Queue, Watch List and Event Filtering.

General notification mechanism - Kernel Docs
splicing