New Improvements in Linux PAE Support for 32-Bit Systems

Linux continues to surprise in 2025 by introducing optimizations to its support for x86 32-bit processors with Physical Address Extension (PAE).

In an unexpected move to enhance support for x86 32-bit systems, developer Dave Hansen, in collaboration with Intel, has proposed a series of patches aimed at simplifying and optimizing page table handling in PAE mode. This mechanism allows 32-bit systems to access more than 4 GB of physical memory, overcoming a traditional limitation of such architectures.

What is PAE, and Why Does it Matter?

PAE support in Linux has been essential for extending the lifespan of older systems, particularly in embedded environments and resource-limited devices. By adding a third layer to page tables, PAE enables 32-bit systems to address up to 64 GB of memory. Although its usage has declined in recent years, many legacy devices and niche environments still rely on this technology.

Key Changes in the Proposed Patches

The improvements in Hansen’s patches focus on creating a more uniform and efficient way to handle page tables in PAE mode, especially in configurations using Page Table Isolation (PTI). PTI is critical for mitigating security vulnerabilities such as Spectre and Meltdown. Some of the most notable changes include:

  1. Consistent Memory Allocation for Page Directory Entries (PGDs):
    All PAE page directory entries will now allocate a full page of memory, aligning with other x86 paging modes. This eliminates the need for handling exceptions for 32-byte structures.
  2. Elimination of Shared PMD Pages:
    Middle directory pages (PMDs) will no longer be shared, simplifying kernel management and reducing complexity, particularly in virtualized environments like those using Xen.
  3. Preallocation of All PMD Pages:
    Instead of dynamically allocating PMD pages, all directory pages will now be preallocated. This approach mirrors the behavior of PTI-enabled kernels, improving stability and reducing potential issues in complex memory configurations.

Security and Memory Impact

Hansen notes that these changes introduce a small increase in memory usage (~2 additional pages per process in non-PTI configurations). However, most users who prioritize security are already using PAE with PTI, making this change negligible for them.

For users who prioritize minimal memory usage, non-PAE configurations remain an option, so they will not be affected by these changes.

Looking Ahead

Although the use of 32-bit systems is increasingly limited, these improvements highlight Linux’s continued commitment to compatibility and stability for legacy architectures. The patches are currently in the “Request for Comments” (RFC) stage, but with enough interest, they may be integrated into the mainline Linux kernel in future releases.

Conclusion

The evolution of PAE support in Linux demonstrates how the kernel continues to adapt to diverse user needs, from modern systems to legacy environments. This effort not only optimizes performance but also reinforces security, ensuring that even older systems can remain viable and secure in 2025 and beyond.

Reference: kernel list

Scroll to Top