linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* Linux VM Documentation - Draft 1
@ 2003-01-12  2:11 Mel Gorman
  2003-01-12  2:49 ` Willy Tarreau
                   ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: Mel Gorman @ 2003-01-12  2:11 UTC (permalink / raw)
  To: linux-mm; +Cc: linux-kernel

Well, despite numerous setbacks, disasters and various panic-attacks, I've
finally got a first draft together for documentation of the Linux VM. This
is still incomplete but will hopefully still be a valuable resource to
those wishing to understand the VM.

It is based on 2.4.20 as the 2.5.x one still changes too much too
regularly to make documenting it feasible. I do believe though that having
a good understanding of the 2.4.20 VM is 80% of the work to understanding
the 2.5.x one at least. There is a few notable areas not covered yet but
will be over the next month or two but I am releasing this early so I can
start getting feedback and correcting any errors or poor assumptions now
rather than later. The areas are;

o Swap area management   (swap.c, swapfile.c etc)
o High memory management (highmem.c)
o Memory locking         (mlock.c)
o Mem init (May not cover as it's very arch specific and there is docs out
            there on the subject already)
o Shared memory (May not cover this at all as it is really an IPC field)
o Buffer management (Same, except it's of more importance to IO)

The documentation comes in two parts. The first is "Understanding the
Linux Virtual Memory Manager" and it does pretty much as described. It is
available in three formats, PDF, HTML and plain text.

Understanding the Linux Virtual Memory Manager
PDF:  http://www.csn.ul.ie/~mel/projects/vm/guide/pdf/understand.pdf
HTML: http://www.csn.ul.ie/~mel/projects/vm/guide/html/understand/
Text: http://www.csn.ul.ie/~mel/projects/vm/guide/text/understand.txt

The second part is a code commentary which is literally a guided tour
through the code. It is intended to help decipher the more cryptic
sections as well as identify the code patterns that are prevalent through
the code. I decided to have the code separate from the first document as
maintaining the code in the document would be too painful

Code Commentary on the Linux Virtual Memory Manager
PDF:  http://www.csn.ul.ie/~mel/projects/vm/guide/pdf/code.pdf
HTML: http://www.csn.ul.ie/~mel/projects/vm/guide/html/code
Text: http://www.csn.ul.ie/~mel/projects/vm/guide/text/code.txt

Any feedback, comments or suggestions are welcome from anyone with a VM
interest but I would appreciate if people already familiar with the VM
would even give a brief read to check for technical accuracy. There was
rarely an authoritative source to check to make sure I was right and I
didn't want to be asking questions every 5 minutes on IRC or mailing
lists :-)

Enjoy...

-- 
Mel Gorman
MSc Student, University of Limerick
http://www.csn.ul.ie/~mel



--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2003-01-14  1:53 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-01-12  2:11 Linux VM Documentation - Draft 1 Mel Gorman
2003-01-12  2:49 ` Willy Tarreau
2003-01-12 15:11 ` Marcus Alanen
2003-01-12 15:36   ` Mel Gorman
2003-01-12 17:54     ` Rob Wilkens
2003-01-12 18:06       ` Mel Gorman
2003-01-12 18:03     ` andrea.glorioso
2003-01-12 18:14       ` Mel Gorman
2003-01-13  5:18 ` Linux VM Documentation - Draft 2 Mel Gorman
2003-01-14  1:53   ` Mel Gorman

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox