Home
About Me
Outdated CV
Programming
+Linux VM
+Patchset
+Gengraph
+VQF Plugin
+XML Serializer
Hobbies
Soon I hope to have a proper page of work I am doing on the Linux VM. At the moment, I'm just getting things off the ground for a public forum. The set of links below will have to do.

Documentation. The first two documents are the major documentation effort. The first is a guide to the VM which is pretty comprehensive but not completed yet. Watch out for updates. The second is a code commentary to give a guided tour. The rest of the docs are quiet small, generally badly written documents which describe how different parts of the VM work but may be a lot more inaccurate than the two first documents.
Docs
Title Description
Understanding the
Linux Memory Manager
This document is an in-depth guide to how the VM in kernel 2.4.20 functions and the major components of it. It references the papers that describe the algorithms used and then explains the Linux specific version. It is also available in PDF and plain text format. The graphs are available here
Code Commentary on the
Linux Virtual Memory Manager
This is a companion document to the Understanding book above. It is a detailed code commentary on most of the Linux VM to help give a detailed understanding of the code and the style. It is also available in PDF and plain text formats. The graphs are available here
The Basics (obsolete) This doc covers some basic principles of the VM system
Buddy Algorithm (obsolete) This is a rough draft of how the buddy algorithm works. It concentrates on page_alloc and just covers allocation and freeing of pages. The initialisation will be covered later.
NUMA, pg_data_t and zones (obsolete) Explains what NUMA is all about and a brief overview of how the pg_data_t structs are used to map areas of physical memory and how zones divide them up
vmalloc/free (obsolete) Detailed account of how vmalloc allocates pages in linear address space but not linear in physical memory
Slab allocator (obsolete) Detailed account on how the slab allocator works including how kmalloc/kfree does it's work.
These are patches against the VM. Each one is titled kernel_to_patch_against-title . At the moment these are all comments patches.
Patches
Title Description
2.4.19pre8_page_alloc_commentry Patch to comment heavily how the buddy algorithm allocates and frees pages in blocks
2.4.19pre8_documentation_numa Updates the numa text file in the Documentation tress. Contains the same information as the numa document linked below.
2.4.19pre8_vmalloc_commentry Patch to comment how vmalloc allocates and frees memory
2.4.19pre8_slab_commentry Patch to comment how the slab allocator works
2.4.19pre8_paging_commentry This patch introduces a document called paging which tries to explain how the LRU's work and briefly the life cycle of a page







Hosted by Skynet Powered by Linux