|
linux2.4 内核情景分析
void insert_vm_struct(struct mm_struct *mm, struct vm_area_struct *vmp)
{
lock_vma_mappings(vmp);
spin_lock(¤t->mm->page_table_lock);
__insert_vm_struct(mm, vmp);
spin_unlock(¤t->mm->page_table_lock);
unlock_vma_mappings(vmp);
}
这里为什么是spin_lock(¤t->mm->page_table_lock);而不是spin_lock(&mm->page_table_lock);
current->mm和mm有什么不同吗?难道参数mm还可能会是别的进程的mm吗? 谢谢! |
|