O que fiquei surpreso ao ver quando tentei fazer a mesma coisa (que você deseja fazer) é encontrar tão poucos comentários relevantes (se houver) em um código tão complexo.
A documentação deve ser o código, certo, mas o recurso de comentários existe na linguagem de programação C por um motivo.
Se eles foram removidos, provavelmente é também por um motivo: para mantê-lo longe disso.
Eu sinceramente duvido que todos os desenvolvedores do kernel tenham que trabalhar nessa base de código limpa e minha opinião é que (pelo menos) o autor de qualquer "recurso" do kernel (como epoll, pelo bem da discussão) mantém uma versão privada do código COM todos esses comentários ausentes.
Por que eu acredito nisso?
Um desenvolvedor de kernel proeminente, tentando me convencer a liberar o código-fonte do servidor G-WAN como código-fonte aberto, me aconselhou a "dificultar a leitura possível".
Ele acrescentou que essa tática funcionou maravilhosamente para ele durante décadas em todos os seus projetos de "código aberto".
Manter o controle sobre qualquer parte crítica de um projeto de "código aberto" amplamente usado obviamente cria oportunidades quando suas receitas provêm exclusivamente de consultoria.
Portanto, voltando à sua pergunta, a coisa mais útil que você pode fazer para entender esse código é estudá-lo passo a passo e adicionar os comentários ausentes.
Então, progressivamente, começará a fazer sentido (e você descobrirá por que os comentários foram removidos).