Divisão de endereço virtual do Linux 3/1

Eu estou faltando alguma coisa quando se trata de entender a necessidade de highmem para lidar com mais de 1GB de RAM. Alguém poderia apontar onde eu errei? Obrigado!

O que eu sei:

1 GB de memória virtual de um processo (região de alta memória) é reservada para operações do kernel. O espaço do usuário pode usar os 3 GB restantes. Esta é a divisão de 3/1.

Os recursos de memória virtual da VM mapeiam as páginas de memória virtual (contínua) para páginas físicas (RAM).

O que eu não sei

Quais operações usam a memória virtual do kernel? Eu suponho que coisas como kmalloc (...) no espaço do kernel usem memória virtual do kernel.

Eu acho que 4GB de RAM podem ser usados ​​sob este esquema. Eu não entendo porque o espaço virtual do kernel de 1 GB é o fator limitante ao endereçar o espaço físico. É aqui que meu entendimento se rompe. Por favor informar.

Eu tenho lido issohttp://kerneltrap.org/node/2450), o que é ótimo. Mas isso não resolve minha questão do meu agrado.