Sep 12 – 14, 2022
Europe/Dublin timezone

High memory management API changes

Sep 13, 2022, 10:00 AM
"Meeting 1&2" (Clayton Hotel on Burlington Road)

"Meeting 1&2"

Clayton Hotel on Burlington Road

linux/arch MC linux/arch MC


Ira Weiny


There was a time when the Linux kernel was 32bit but hardware systems had much
more than 1GB of memory. A solution was developed to allow the use of high
memory (HIGHMEM). High memory was excluded from the kernel direct map and was
temporarily mapped into and out of the kernel as needed. These mappings were
made via kmap_*() calls.

With the prevalence of 64bit kernels the usefulness of this interface is
waning. But the idea of memory not being in the direct map (or having
permissions beyond the direct map mapping) has brought about the need to
rethink the HIGHMEM interface.

This talk will discuss the changes to the kmap_*() API and the motivations
driving them. This includes the status of a project to rework the HIGHMEM
interface as of the LPC conference.

Finally how does HIGHMEM affect the modern architectures in use? Is it finally
time to remove CONFIG_HIGHMEM? Or is there still a need for 32 bit systems to
support large amounts of memory in production environments?

I agree to abide by the anti-harassment policy Yes

Primary author

Ira Weiny

Presentation materials

Diamond Sponsor

Platinum Sponsors

Gold Sponsors

Silver Sponsors

Speaker Gift Sponsor

Catchbox Sponsor

Video Recording Sponsor

Livestream Sponsor

T-Shirt Sponsor

Conference Services Provided by