*参照元 [#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]