* Now talking on #mm
* Topic for #mm is: Memory Management - http://linux-mm.org/
* Topic for #mm set by ChanServemail@example.com at Fri May 22 01:44:02 2009
macli I am newbie, and reading mm/oom_kill.c, wondering why list_for_each_entry(child, &p->children, sibling) in badness(), not list_for_each_entry(child, &p->children, children)?
hnaz macli: it's the linkname. task->children is the head of a list that is linked by task->sibling
macli hnaz: I see #define list_for_each_entry(pos, head, member) in list.h, where I can find the code that task->children ,the list head which is linked by task->sibling, I see struct task_struct has two list_head children and silbling
macli struct list_head children; /* list of my children */
macli struct list_head sibling; /* linkage in my parent's children list */
macli I am assuming that children is the list head of a task's children list
macli sibling is the list head of a task's parent's children list which is different with the children list head, that is my understanding of reading the comment
hnaz macli: you have to understand that a 'list_head' is at the same time a node. it represents one link in the list
hnaz macli: children is the link to other task structs that represent the children
hnaz macli: while sibling is the link to chain up a task as part of another task's children list
macli hnaz: I see, thanks for the explaintion
Thursday, July 2, 2009
I had a chat on #mm channel with hnaz about task_struct's member children and sibling list head:
- gfp_zone analysis
- Chat about git on how to apply local custom patch ...
- The heart of zoned buddy allocator
- Analysis of shrink_slab function in mm/vmscan.c
- A sample git work flow to send/receive patch by em...
- Direct Page reclaim and Background Page reclaim ca...
- VM_BUG_ON(PageLRU(page) and VM_BUG_ON(!PageLRU(pag...
- kernel virtual address caculation
- Return page_count(page) - !!page_has_private(page)...
- I had a chat on #mm channel with hnaz about task_s...
- ▼ July (11)