Lines Matching refs:mm
35 struct mm_struct *mm = (struct mm_struct *) info; in ipi_sync_rq_state() local
37 if (current->mm != mm) in ipi_sync_rq_state()
40 atomic_read(&mm->membarrier_state)); in ipi_sync_rq_state()
50 void membarrier_exec_mmap(struct mm_struct *mm) in membarrier_exec_mmap() argument
58 atomic_set(&mm->membarrier_state, 0); in membarrier_exec_mmap()
136 struct mm_struct *mm = current->mm; in membarrier_private_expedited() local
141 if (!(atomic_read(&mm->membarrier_state) & in membarrier_private_expedited()
145 if (!(atomic_read(&mm->membarrier_state) & in membarrier_private_expedited()
150 if (atomic_read(&mm->mm_users) == 1 || num_online_cpus() == 1) in membarrier_private_expedited()
178 if (p && p->mm == mm) in membarrier_private_expedited()
200 static int sync_runqueues_membarrier_state(struct mm_struct *mm) in sync_runqueues_membarrier_state() argument
202 int membarrier_state = atomic_read(&mm->membarrier_state); in sync_runqueues_membarrier_state()
206 if (atomic_read(&mm->mm_users) == 1 || num_online_cpus() == 1) { in sync_runqueues_membarrier_state()
244 if (p && p->mm == mm) in sync_runqueues_membarrier_state()
250 smp_call_function_many(tmpmask, ipi_sync_rq_state, mm, 1); in sync_runqueues_membarrier_state()
262 struct mm_struct *mm = p->mm; in membarrier_register_global_expedited() local
265 if (atomic_read(&mm->membarrier_state) & in membarrier_register_global_expedited()
268 atomic_or(MEMBARRIER_STATE_GLOBAL_EXPEDITED, &mm->membarrier_state); in membarrier_register_global_expedited()
269 ret = sync_runqueues_membarrier_state(mm); in membarrier_register_global_expedited()
273 &mm->membarrier_state); in membarrier_register_global_expedited()
281 struct mm_struct *mm = p->mm; in membarrier_register_private_expedited() local
298 if ((atomic_read(&mm->membarrier_state) & ready_state) == ready_state) in membarrier_register_private_expedited()
302 atomic_or(set_state, &mm->membarrier_state); in membarrier_register_private_expedited()
303 ret = sync_runqueues_membarrier_state(mm); in membarrier_register_private_expedited()
306 atomic_or(ready_state, &mm->membarrier_state); in membarrier_register_private_expedited()