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 서브시스템에서 현재 태스크가 특정 노드에서만 메모리를 할당 받을 수 있도록 제한을 할 수 있다.