*参照元 [#rd765ccf]
#backlinks

*説明 [#u28da19d]
-パス: [[linux-2.6.33/mm/vmalloc.c]]

-FIXME: これは何?
--説明


**引数 [#jbbadb7b]
-struct vm_struct *vm
--
--[[linux-2.6.33/vm_struct]]
-struct vmap_area *va
--
--[[linux-2.6.33/vmap_area]]
-unsigned long flags
--
-void *caller
--

**返り値 [#z0c830cd]
-なし


**参考 [#u122fabf]


*実装 [#a0705fd6]
 static void insert_vmalloc_vm(struct vm_struct *vm, struct vmap_area *va,
 			      unsigned long flags, void *caller)
 {
 	struct vm_struct *tmp, **p;
 
 	vm->flags = flags;
 	vm->addr = (void *)va->va_start;
 	vm->size = va->va_end - va->va_start;
 	vm->caller = caller;
 	va->private = vm;
 	va->flags |= VM_VM_AREA;
 
-
--[[linux-2.6.33/VM_VM_AREA]]

 	write_lock(&vmlist_lock);
-
--[[linux-2.6.33/vmlist_lock(global)]]
-
--[[linux-2.6.33/write_lock()]]

 	for (p = &vmlist; (tmp = *p) != NULL; p = &tmp->next) {
 		if (tmp->addr >= vm->addr)
 			break;
 	}
 	vm->next = *p;
 	*p = vm;
 	write_unlock(&vmlist_lock);
-
--[[linux-2.6.33/write_unlock()]]

 }


*コメント [#e705cfd3]


トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS