https://www.bootlin.com
site:https://bootlin.com/doc/

 

Linux Kernel in a Nutshell book
https://bootlin.com/community/kernel/lkn/

 

Linux Kernel in a Nutshell
http://www.kroah.com/lkn/

Understanding Linux Kernel 3rd edition
https://cdn.kernel.org/pub/linux/kernel/v2.6/
https://elixir.bootlin.com/linux/latest/source

 

https://www.linuxquestions.org/
https://kernelnewbies.org/

 

HOWTO do Linux kernel development
https://www.kernel.org/doc/html/v4.16/process/howto.html

 

https://www.quora.com/profile/Sri-1977
To read Linux code effectively following tools helps a lot:

Cscope — Used to search for variables, functions defination, strings and many more. Want to search for all functions which call a function you know then cscope is right tool, cscope provides very good functionality to navigate through large code bases like Linux
Ctags — For example you are going through a C source code and you find a call to a function but it is defined in some other file in some other directory, so instead of search for the function you can just press “ctrl + [‘’ by keeping cursor on the call to that function it, then it just takes you to the definition of that function no matter in which directory file is that function is defined.
Vim text editor — People might find vim as user unfriendly. But vim is one of best text editor for Linux kernel developers, vim provide powerful functionality only thing we need to do is to master it.