Home
last modified time | relevance | path

Searched refs:mm_cid (Results 1 – 13 of 13) sorted by relevance

/linux/kernel/sched/
H A Dcore.c10713 * mm::mm_cid::mutex: Serializes fork() and exit() and therefore
10714 * protects mm::mm_cid::users and mode switch
10717 * mm::mm_cid::lock: Serializes mm_update_max_cids() and
10718 * mm_update_cpus_allowed(). Nests in mm_cid::mutex
10721 * The mm_cidmask bitmap is not protected by any of the mm::mm_cid locks
10724 * The mm::mm_cid:pcpu per CPU storage is protected by the CPUs runqueue
10729 * A CID is either owned by a task (stored in task_struct::mm_cid.cid) or
10730 * by a CPU (stored in mm::mm_cid.pcpu::cid). CIDs owned by CPUs have the
10742 * The ownership mode is per process and stored in mm:mm_cid::mode with the
10752 * 1) mm:mm_cid
[all...]
H A Dsched.h3939 unsigned int cid = t->mm_cid.cid; in mm_unset_cid_on_task()
3941 t->mm_cid.cid = MM_CID_UNSET; in mm_unset_cid_on_task()
3968 unsigned int cid = __mm_get_cid(mm, READ_ONCE(mm->mm_cid.max_cids)); in mm_get_cid()
3998 if (t->mm_cid.cid != cid) { in mm_cid_update_task_cid()
3999 t->mm_cid.cid = cid; in mm_cid_update_task_cid()
4006 __this_cpu_write(mm->mm_cid.pcpu->cid, cid); in mm_cid_update_pcpu_cid()
4012 unsigned int max_cids, tcid = t->mm_cid.cid; in mm_cid_from_cpu()
4015 max_cids = READ_ONCE(mm->mm_cid.max_cids); in mm_cid_from_cpu()
4047 unsigned int max_cids, tcid = t->mm_cid.cid; in mm_cid_from_task()
4050 max_cids = READ_ONCE(mm->mm_cid in mm_cid_from_task()
[all...]
/linux/tools/testing/selftests/rseq/
H A Drseq-bits-template.h20 # define RSEQ_TEMPLATE_CPU_ID_FIELD mm_cid
H A Drseq-abi.h186 __u32 mm_cid; member
H A Drseq.h224 return (int) rseq_size >= rseq_offsetofend(struct rseq_abi, mm_cid); in rseq_mm_cid_available()
229 return RSEQ_ACCESS_ONCE(rseq_get_abi()->mm_cid); in rseq_current_mm_cid()
/linux/include/uapi/linux/
H A Drseq.h185 __u32 mm_cid; member
/linux/include/linux/
H A Dmm_types.h1226 struct mm_mm_cid mm_cid; member
1593 mm->mm_cid.pcpu = alloc_percpu_noprof(struct mm_cid_pcpu); in mm_alloc_cid_noprof()
1594 if (!mm->mm_cid.pcpu) in mm_alloc_cid_noprof()
1603 free_percpu(mm->mm_cid.pcpu); in mm_destroy_cid()
1604 mm->mm_cid.pcpu = NULL; in mm_destroy_cid()
H A Drseq_types.h78 u32 mm_cid; member
H A Dsched.h1443 struct sched_mm_cid mm_cid;
2385 return t->mm_cid.cid & ~(MM_CID_ONCPU | MM_CID_TRANSIT); in task_mm_cid()
1442 struct sched_mm_cid mm_cid; global() member
/linux/kernel/
H A Drseq.c295 ids.mm_cid = task_mm_cid(t); in rseq_slowpath_update_usr()
403 unsafe_put_user(0, &rseq->mm_cid, efault); in rseq_reset_ids()
454 unsafe_put_user(0U, &rseq->mm_cid, efault); in rseq_register()
H A Dfork.c1013 tsk->mm_cid.cid = MM_CID_UNSET; in dup_task_struct()
1014 tsk->mm_cid.active = 0; in dup_task_struct()
1015 INIT_HLIST_NODE(&tsk->mm_cid.node); in dup_task_struct()
/linux/init/
H A Dinit_task.c268 .mm_cid = { .cid = MM_CID_UNSET, },
/linux/Documentation/userspace-api/
H A Drseq.rst54 - The cpu_id_start, cpu_id, node_id and mm_cid fields (User mode read
61 is migrated or mm_cid changes