linux-2.6.33/__insert_vmap_area()
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
*参照元 [#sb1b9402]
#backlinks
*説明 [#nafba36f]
-パス: [[linux-2.6.33/mm/vmalloc.c]]
-FIXME: これは何?
--説明
**引数 [#j1847322]
-struct vmap_area *va
--
--[[linux-2.6.33/vmap_area]]
**返り値 [#yc2aea14]
-なし
**参考 [#d206c5b1]
*実装 [#ra8032cb]
static void __insert_vmap_area(struct vmap_area *va)
{
struct rb_node **p = &vmap_area_root.rb_node;
struct rb_node *parent = NULL;
struct rb_node *tmp;
-
--[[linux-2.6.33/rb_node]]
-
--[[linux-2.6.33/vmap_area_root(global)]]
while (*p) {
struct vmap_area *tmp;
parent = *p;
tmp = rb_entry(parent, struct vmap_area, rb_node);
-
--[[linux-2.6.33/rb_entry()]]
if (va->va_start < tmp->va_end)
p = &(*p)->rb_left;
else if (va->va_end > tmp->va_start)
p = &(*p)->rb_right;
else
BUG();
-
--[[linux-2.6.33/BUG()]]
}
rb_link_node(&va->rb_node, parent, p);
rb_insert_color(&va->rb_node, &vmap_area_root);
-
--[[linux-2.6.33/rb_link_node()]]
-
--[[linux-2.6.33/rb_insert_color()]]
/* address-sort this list so it is usable like the vmli...
tmp = rb_prev(&va->rb_node);
-
--[[linux-2.6.33/rb_prev()]]
if (tmp) {
struct vmap_area *prev;
prev = rb_entry(tmp, struct vmap_area, rb_node);
list_add_rcu(&va->list, &prev->list);
-
--[[linux-2.6.33/list_add_rcu()]]
} else
list_add_rcu(&va->list, &vmap_area_list);
}
*コメント [#hb751266]
終了行:
*参照元 [#sb1b9402]
#backlinks
*説明 [#nafba36f]
-パス: [[linux-2.6.33/mm/vmalloc.c]]
-FIXME: これは何?
--説明
**引数 [#j1847322]
-struct vmap_area *va
--
--[[linux-2.6.33/vmap_area]]
**返り値 [#yc2aea14]
-なし
**参考 [#d206c5b1]
*実装 [#ra8032cb]
static void __insert_vmap_area(struct vmap_area *va)
{
struct rb_node **p = &vmap_area_root.rb_node;
struct rb_node *parent = NULL;
struct rb_node *tmp;
-
--[[linux-2.6.33/rb_node]]
-
--[[linux-2.6.33/vmap_area_root(global)]]
while (*p) {
struct vmap_area *tmp;
parent = *p;
tmp = rb_entry(parent, struct vmap_area, rb_node);
-
--[[linux-2.6.33/rb_entry()]]
if (va->va_start < tmp->va_end)
p = &(*p)->rb_left;
else if (va->va_end > tmp->va_start)
p = &(*p)->rb_right;
else
BUG();
-
--[[linux-2.6.33/BUG()]]
}
rb_link_node(&va->rb_node, parent, p);
rb_insert_color(&va->rb_node, &vmap_area_root);
-
--[[linux-2.6.33/rb_link_node()]]
-
--[[linux-2.6.33/rb_insert_color()]]
/* address-sort this list so it is usable like the vmli...
tmp = rb_prev(&va->rb_node);
-
--[[linux-2.6.33/rb_prev()]]
if (tmp) {
struct vmap_area *prev;
prev = rb_entry(tmp, struct vmap_area, rb_node);
list_add_rcu(&va->list, &prev->list);
-
--[[linux-2.6.33/list_add_rcu()]]
} else
list_add_rcu(&va->list, &vmap_area_list);
}
*コメント [#hb751266]
ページ名: