Lines Matching defs:mm

40  * that the mm refcount is zero and the range is no longer accessible.
66 * Called either by mmu_notifier_unregister or when the mm is
69 * methods (the ones invoked outside the mm context) and it
74 * tsk->mm == mm exits.
81 * last thread of this mm quits, you've also to be sure that
89 struct mm_struct *mm);
101 struct mm_struct *mm,
111 struct mm_struct *mm,
122 struct mm_struct *mm,
199 struct mm_struct *mm,
206 * notifier for use with the mm.
213 struct mmu_notifier *(*alloc_notifier)(struct mm_struct *mm);
231 struct mm_struct *mm;
251 struct mm_struct *mm;
263 struct mm_struct *mm;
271 static inline int mm_has_notifiers(struct mm_struct *mm)
273 return unlikely(mm->notifier_subscriptions);
277 struct mm_struct *mm);
279 mmu_notifier_get(const struct mmu_notifier_ops *ops, struct mm_struct *mm)
283 mmap_write_lock(mm);
284 ret = mmu_notifier_get_locked(ops, mm);
285 mmap_write_unlock(mm);
292 struct mm_struct *mm);
294 struct mm_struct *mm);
296 struct mm_struct *mm);
301 struct mm_struct *mm, unsigned long start,
305 struct mmu_interval_notifier *interval_sub, struct mm_struct *mm,
376 extern void __mmu_notifier_subscriptions_destroy(struct mm_struct *mm);
377 extern void __mmu_notifier_release(struct mm_struct *mm);
378 extern int __mmu_notifier_clear_flush_young(struct mm_struct *mm,
381 extern int __mmu_notifier_clear_young(struct mm_struct *mm,
384 extern int __mmu_notifier_test_young(struct mm_struct *mm,
388 extern void __mmu_notifier_arch_invalidate_secondary_tlbs(struct mm_struct *mm,
399 static inline void mmu_notifier_release(struct mm_struct *mm)
401 if (mm_has_notifiers(mm))
402 __mmu_notifier_release(mm);
405 static inline int mmu_notifier_clear_flush_young(struct mm_struct *mm,
409 if (mm_has_notifiers(mm))
410 return __mmu_notifier_clear_flush_young(mm, start, end);
414 static inline int mmu_notifier_clear_young(struct mm_struct *mm,
418 if (mm_has_notifiers(mm))
419 return __mmu_notifier_clear_young(mm, start, end);
423 static inline int mmu_notifier_test_young(struct mm_struct *mm,
426 if (mm_has_notifiers(mm))
427 return __mmu_notifier_test_young(mm, address);
437 if (mm_has_notifiers(range->mm)) {
457 if (mm_has_notifiers(range->mm)) {
471 if (mm_has_notifiers(range->mm))
475 static inline void mmu_notifier_arch_invalidate_secondary_tlbs(struct mm_struct *mm,
478 if (mm_has_notifiers(mm))
479 __mmu_notifier_arch_invalidate_secondary_tlbs(mm, start, end);
482 static inline void mmu_notifier_subscriptions_init(struct mm_struct *mm)
484 mm->notifier_subscriptions = NULL;
487 static inline void mmu_notifier_subscriptions_destroy(struct mm_struct *mm)
489 if (mm_has_notifiers(mm))
490 __mmu_notifier_subscriptions_destroy(mm);
497 struct mm_struct *mm,
502 range->mm = mm;
511 struct mm_struct *mm, unsigned long start,
514 mmu_notifier_range_init(range, event, flags, mm, start, end);
581 #define mmu_notifier_range_init(range,event,flags,mm,start,end) \
583 #define mmu_notifier_range_init_owner(range, event, flags, mm, start, \
593 static inline int mm_has_notifiers(struct mm_struct *mm)
598 static inline void mmu_notifier_release(struct mm_struct *mm)
602 static inline int mmu_notifier_clear_flush_young(struct mm_struct *mm,
609 static inline int mmu_notifier_test_young(struct mm_struct *mm,
631 static inline void mmu_notifier_arch_invalidate_secondary_tlbs(struct mm_struct *mm,
636 static inline void mmu_notifier_subscriptions_init(struct mm_struct *mm)
640 static inline void mmu_notifier_subscriptions_destroy(struct mm_struct *mm)