Linux kernel source tree
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/
An excellent up-to-date repository of the kernel code
Linux kernel documentation
https://www.kernel.org/doc/Documentation/
https://www.kernel.org/doc/Documentation/networking/
Linux Kernel Development Second Edition by Robert Love
http://www.makelinux.net/books/lkd2/
Interactive map of Linux kernel
http://www.makelinux.net/kernel_map/
https://makelinux.github.io/kernel/map/
Kernel Module Programming Guide
http://tldp.org/LDP/lkmpg/2.6/html/lkmpg.html
Linux kernel newbies
Preemption under Linux
http://kernelnewbies.org/FAQ/Preemption
Linked list implementation
http://kernelnewbies.org/FAQ/LinkedLists
Linux kernel memory barriers
https://www.kernel.org/doc/Documentation/memory-barriers.txt
Sequence file how to
http://kernelnewbies.org/Documents/SeqFileHowTo
Keeping printk() under control
http://lwn.net/Articles/66091/
Kernel debugging using KProbes and SystemTap
http://lwn.net/Articles/132196/
http://sources.redhat.com/systemtap/
Linux Magic System Request Key Hacks https://www.kernel.org/doc/Documentation/sysrq.txt
CPU profiling using perf
https://perf.wiki.kernel.org/index.php/Main_Page
https://perf.wiki.kernel.org/index.php/Perf_examples
See example perf call-graph here.
Kernel Crypto API
https://kernel.readthedocs.io/en/sphinx-samples/crypto-API.html
User space and kernel space communication
http://wiki.tldp.org/kernel_user_space_howto
What is RCU? -- "Read, Copy, Update"
https://www.kernel.org/doc/Documentation/RCU/whatisRCU.txt
Atomic operations
https://www.kernel.org/doc/Documentation/atomic_t.txt
https://lwn.net/Articles/608551/
Memory barriers
https://www.kernel.org/doc/Documentation/memory-barriers.txt
How to avoid unaligned memory access
https://www.kernel.org/doc/Documentation/unaligned-memory-access.txt