set_mems_allowed()
include/linux/cpuset.h
#ifdef CONFIG_CPUSETS
static inline void set_mems_allowed(nodemask_t nodemask)
{
unsigned long flags;
task_lock(current);
local_irq_save(flags);
write_seqcount_begin(¤t->mems_allowed_seq);
current->mems_allowed = nodemask;
write_seqcount_end(¤t->mems_allowed_seq);
local_irq_restore(flags);
task_unlock(current);
}
#else /* !CONFIG_CPUSETS */
NUMA 시스템 및 Cpuset Control Group과 관련되어 현재 태스크에서 사용할 수 있는 노드를 배정한다.
- 이 기능을 통해 Control Group의 cpuset 서브시스템에서 현재 태스크가 특정 노드에서만 메모리를 할당 받을 수 있도록 제한을 할 수 있다.