#format wiki #language en == Kelley Nielsen == Email: [[MailTo(kelleynnn AT SPAMFREE gmail DOT com)]] 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 *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? (I assume that some of the members are mm structs) *Question: what is (are) the top level struct(s) for memory management? What functions and structs hold them? *Question: How is a swap area location described? *'''Question''': The first double word block of a struct page holds a union (implying only one member is used at a time) of a pointer to a struct address_space, and a pointer to void intended for a slab object. I know that most memory comes from the buddy allocator, but the kernel has the slab allocator for small needs of its own. So, is the struct address_space associated with the buddy allocator? Question: are the page allocator and the buddy allocator the same thing? ''i.e.'' "page" describes what it does, and "buddy" describes how it works? *Action: study handle_mm_fault() found at: memory.c:3783:int handle_mm_fault(struct mm_struct *mm, ... *'''Question''': What’s the relationship between a page and a vm_area? Specifically, what’s the correspondence between a page in memory and its representation in the swap area? *Question: What is a control group and, specifically, what is the memory control group? Documentation/cgroups *["http://www.amazon.com/Professional-Kernel-Architecture-Wolfgang-Mauerer/dp/0470343435"] ---- CategoryHomepage