Linux 2.4 VM Documentation - Take 3

From: Mel Gorman (mel@csn.ul.ie)
Date: Tue Jan 21 2003 - 20:19:00 EST


This is the third draft at a pair of papers aimed at documenting fully how
the 2.4 VM functions. I have made a large number of additions and
corrections so I felt another release would not hurt even if I still have
a few chapters to go. The most notable change is the introduction of a
chapter on the boot memory allocator. The full list of changes as best as
I can remember is listed at the end of this mail.

It can be found in the various formats at

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/code.txt

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 and all comments and corrections, especially on the bootmem allocator,
are welcome. If there is some section that you feel is not covered in
adequate detail or is omitted entirely, email me and I'll see what can be
done.

>> Fullish list of changes, can't remember them all :-/ <<

o Added a chapter description how the boot memory allocator works

o Added an explanation on the difference between mm_users and mm_count

o Fixed the explanation on pages_min, pages_low and pages_high. The
  language was quite confusing the way it was and open to misinterpretation

o Added sections on exception handling and how it applies to copying
  to/from userspace. Thanks go to Ingo Oeser for highlighting the
  importance and clarifying exactly how it worked to me (Thanks Ingo!)

o Large number of grammar and spelling mistakes, thanks to all who sent
  corrections as I am useless at proof reading this document now, the list
  of people is too large to list

o Corrected a part of the buddy allocator code commentary where a typo
  reversed the meaning of __GFP_WAIT

o Fixed a section where it is explained why 64GiB is an impractical
  amount of memory because of ZONE_NORMAL pressure. I calculated the
  amount of memory needed for mem_map wrong (Thank you Jean Francois Martinez)

o Fixed some call graphs where the order when traversed depth-first did
  not match what was in the code due to a bug in gengraph. New release of
  gengraph is out which works with recent 2.5 kernels and fixes the
  traversals

o Various other bits and pieces I can't recall

-- 
Mel Gorman				| "Documentation is like sex: when it is
MSc Student, University of Limerick	| good, it is very, very good and when
http://www.csn.ul.ie/~mel		| it is bad, it is better than nothing"
							-- Dick Brandon

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Thu Jan 23 2003 - 22:00:28 EST