Please note that User Registration has been temporarily disabled due to a recent increase in automated registrations. If anyone needs an account, please request one here: RequestAccount. Thanks for your patience!--Wmat (talk)
Please email User:Wmat if you experience any issues with the Request Account form.

Memory Management

From eLinux.org
Revision as of 21:34, 27 August 2007 by Tim Bird (Talk | contribs)

Jump to: navigation, search

This page has information about various memory management projects and activities which are of interest to embedded Linux developers.

Areas of Interest

Most of these areas have wider reaching implications, but are of relatively simpler use in the embedded case, largely thanks to not having to contend with swap and things of that nature. This as well as vendors not afraid of deviation from mainline for product programs makes for an excellent playground for experimenting with new things in the memory management and virtual memory space.

Huge/large/superpages

  • This applies to both transparent large page usage as well as the more static usage models, primarily relating to work outside of the hugetlb interface/libhugetlbfs.
  • Embedded systems suffer from very small TLBs generally using PAGE_SIZE'd pages (4kB) for coverage. In most cases this places the system under very heavy pressure for any kind of userspace work, and very visibly degrading performance, with most applications taking anywhere from 5-40% of their time on the CPU servicing page faults.
  • Preliminary discussion on this subject as well as links to additional information is happening through the wiki here: Huge Pages

Page cache compression

  • This relates to using various compression algorithms for performing run-time compression and decompression of page cache pages, specifically aimed at both reducing memory pressure as well as helping performance in certain workloads.
  • More information can be found on the wiki here CompressedCaching as well as at the SF Compressed Caching home page.

Reserving (and accessing) the top of memory on startup

[should put the technique here - it involves mem= on the kernel command line]

Additional Resources/Mailing Lists

  • LinuxMM - links to various sub-projects, and acts as a centralized point for discussion relating to memory management topics (linux-mm mailing list and archives).