Locking and lock debugging
As this book is explicitly meant for the subject matter of Linux kernel debugging, we don't even attempt to cover the basics of locking, why it's required, and the various kernel technologies that provide locking (which includes the mutex lock, the spinlock, atomic and refcount-based locking for integers, lock-free technologies such as per-CPU variables, RCU, and so on). Much, in fact, pretty much most, of this content, is covered in my earlier book (referred to below).
Further, a lot of material regarding the debugging of kernel-level locking issues, typically deadlock (of different types), and the tools to catch them (including lockdep, one of the most powerful!), is also covered in detail in this earlier book. If you're new to these topics, I urge you to refer to the Linux Kernel Programming – Part 2 book (it's free to download as an eBook), for our purposes here, particularly these sections:
- Chapter 6, Kernel Synchronization...