内存管理-59-内存管理相关锁


1. p->alloc_lock

spinlock_t 类型。

保护 ->fs、->files、->mm、->group_info、->comm 和密钥环订阅,并与 wait4() 同步。也用于 procfs。同时锁定 task.io_context 的最终版本。同时保护 ->cpuset 和 ->cgroup.subsys[]。以及 ->vfork_done 和 ->sysvshm.shm_clist。

可以嵌套在 read_lock(&tasklist_lock) 内部或外部。它不能嵌套在 write_lock_irq(&tasklist_lock) 中,无论在内部还是外部。

static inline void task_lock(struct task_struct *p)
{
    spin_lock(&p->alloc_lock);
}

static inline void task_unlock(struct task_struct *p)
{
    spin_unlock(&p->alloc_lock);
}


2. p->mm->mmap_sem

struct rw_semaphore 类型。

 

posted on 2026-03-27 17:08  Hello-World3  阅读(2)  评论(0)    收藏  举报

导航