Back to the kernel segment; obviously, with a 64-bit VAS, the kernel segment is much larger than on 32-bit. As we saw earlier, it's typically 128 TB on the x86_64. Study again the VM split table shown previously (Figure 7.4 in the section VM split on 64-bit Linux systems); there, the fourth column is the VM split for different architectures. You can see how on the 64-bit Intel/AMD and AArch64 (ARM64), the numbers are much larger than for their 32-bit counterparts. For arch-specific details, we refer you to the 'official' kernel documentation on the process virtual memory layout here:
Architecture | Documentation location in kernel source tree |
ARM-32 | Documentation/arm/memory.txt. |
AArch64 | Documentation/arm64/memory.txt. |
x86_64 | Documentation/x86/x86_64/mm.txt Note: this document's readability was vastly improved recently (as of the time of writing) with commit 32b8976 for Linux 4.20: https://github... |