I am a kernel intern through the Gnome Outreach Program for Women. RikvanRiel is my mentor. My project is to rid the swapoff code of the quadratic complexity in try_to_unuse().
This page will eventually become a proper home page, but until I learn enough about wiki editing to write proper articles, I will be using this as a scratch area for my thoughts, questions, and article stubs and drafts.
My Current Working State
Rik has asked me, "can you find out, and describe to me, how the location of a
- certain place in swap is stored in the memory management data structures for a process? and what the two parts of the swap information describe?
ACTION: study struct page and friends in include/linux/mm_types.h ACTION: study handle_mm_fault() found at:
- memory.c:3783:int handle_mm_fault(struct mm_struct *mm, struct vm_area_struct *vma,
QUESTION: What are the memory management data structures for a process?
- -what’s the data structure for a process, where does it live, and what are its members?
- (assumed that some of the members are mm structs)
QUESTION: what is (are) the top level struct(s) for memory management? What besides processes hold them? Partial answer: struct page is one => seen in (prob) Mauerer’s book*--where? QUESTION: How is a swap area location described?