KernelNewbies
  • Comments
  • Immutable Page
  • Menu
    • Navigation
    • RecentChanges
    • FindPage
    • Local Site Map
    • Help
    • HelpContents
    • HelpOnMoinWikiSyntax
    • Display
    • Attachments
    • Info
    • Raw Text
    • Print View
    • Edit
    • Load
    • Save
  • Login

Kernel Hacking

  • Frontpage

  • Kernel Hacking

  • Kernel Documentation

  • Kernel Glossary

  • FAQ

  • Found a bug?

  • Kernel Changelog

  • Upstream Merge Guide

Projects

  • KernelJanitors

  • KernelMentors

  • KernelProjects

Community

  • Why a community?

  • Regional Kernelnewbies

  • Personal Pages

  • Upcoming Events

References

  • Mailing Lists

  • Related Sites

  • Programming Links

Wiki

  • Recent Changes

  • Site Editors

  • Side Bar

  • Tips for Editors

  • Hosted by WikiWall

Navigation

  • RecentChanges
  • FindPage
  • HelpContents

Upload page content

You can upload content for the page named below. If you change the page name, you can also upload content for another page. If the page name is empty, we derive the page name from the file name.

File to load page content from
Page name
Comment

Revision 2 as of 2007-10-15 00:55:11
KernelNewbies:
  • KernelProjects
  • SwapoutClustering

When NetBSD and FreeBSD swap out a page from a process, they look in the process virtual address space to find nearby pages that are also candidates for being swapped out. This greatly increases the chance of swapin IO pulling in related data, reducing the number of disk seeks involved in swap IO.

It would be good if somebody could implement this functionality in Linux.

The FreeBSD code that implements swapout clustering is in [http://fxr.watson.org/fxr/source/vm/vm_pageout.c#L312 vm/vm_pageout.c]. On Linux it will need to be slightly different due to the fact that Linux does not have BSD style VM objects.

For bonus points, keep track of how many of the swapped in pages actually get used and dynamically vary the IO clustering size for swapin. Maybe even have swapin readahead on a per-VMA basis.

Interested in implementing this feature? Go to #mm on irc.oftc.net or claim the feature on the KernelProjects page.

Since there are multiple sub-features that can be implemented, there could be enough work for multiple small projects or one large project.


CategoryKernelProjects

  • MoinMoin Powered
  • Python Powered
  • GPL licensed
  • Valid HTML 4.01