Lines Matching refs:mm

93 			struct mm_struct *mm);
105 struct mm_struct *mm,
115 struct mm_struct *mm,
126 struct mm_struct *mm,
134 struct mm_struct *mm,
212 struct mm_struct *mm,
226 struct mmu_notifier *(*alloc_notifier)(struct mm_struct *mm);
249 struct mm_struct *mm; member
272 struct mm_struct *mm; member
285 struct mm_struct *mm; member
295 struct mm_struct *mm) in get_notifier_subscriptions_hdr() argument
307 return (struct mmu_notifier_subscriptions_hdr *)mm->notifier_subscriptions; in get_notifier_subscriptions_hdr()
310 static inline int mm_has_notifiers(struct mm_struct *mm) in mm_has_notifiers() argument
313 return unlikely(get_notifier_subscriptions_hdr(mm)->valid); in mm_has_notifiers()
315 return unlikely(mm->notifier_subscriptions); in mm_has_notifiers()
320 struct mm_struct *mm);
322 mmu_notifier_get(const struct mmu_notifier_ops *ops, struct mm_struct *mm) in mmu_notifier_get() argument
326 mmap_write_lock(mm); in mmu_notifier_get()
327 ret = mmu_notifier_get_locked(ops, mm); in mmu_notifier_get()
328 mmap_write_unlock(mm); in mmu_notifier_get()
335 struct mm_struct *mm);
337 struct mm_struct *mm);
339 struct mm_struct *mm);
344 struct mm_struct *mm, unsigned long start,
348 struct mmu_interval_notifier *interval_sub, struct mm_struct *mm,
419 extern void __mmu_notifier_subscriptions_destroy(struct mm_struct *mm);
420 extern void __mmu_notifier_release(struct mm_struct *mm);
421 extern int __mmu_notifier_clear_flush_young(struct mm_struct *mm,
424 extern int __mmu_notifier_clear_young(struct mm_struct *mm,
427 extern int __mmu_notifier_test_young(struct mm_struct *mm,
429 extern void __mmu_notifier_change_pte(struct mm_struct *mm,
434 extern void __mmu_notifier_invalidate_range(struct mm_struct *mm,
445 static inline void mmu_notifier_release(struct mm_struct *mm) in mmu_notifier_release() argument
447 if (mm_has_notifiers(mm)) in mmu_notifier_release()
448 __mmu_notifier_release(mm); in mmu_notifier_release()
451 static inline int mmu_notifier_clear_flush_young(struct mm_struct *mm, in mmu_notifier_clear_flush_young() argument
455 if (mm_has_notifiers(mm)) in mmu_notifier_clear_flush_young()
456 return __mmu_notifier_clear_flush_young(mm, start, end); in mmu_notifier_clear_flush_young()
460 static inline int mmu_notifier_clear_young(struct mm_struct *mm, in mmu_notifier_clear_young() argument
464 if (mm_has_notifiers(mm)) in mmu_notifier_clear_young()
465 return __mmu_notifier_clear_young(mm, start, end); in mmu_notifier_clear_young()
469 static inline int mmu_notifier_test_young(struct mm_struct *mm, in mmu_notifier_test_young() argument
472 if (mm_has_notifiers(mm)) in mmu_notifier_test_young()
473 return __mmu_notifier_test_young(mm, address); in mmu_notifier_test_young()
477 static inline void mmu_notifier_change_pte(struct mm_struct *mm, in mmu_notifier_change_pte() argument
480 if (mm_has_notifiers(mm)) in mmu_notifier_change_pte()
481 __mmu_notifier_change_pte(mm, address, pte); in mmu_notifier_change_pte()
490 if (mm_has_notifiers(range->mm)) { in mmu_notifier_invalidate_range_start()
503 if (mm_has_notifiers(range->mm)) { in mmu_notifier_invalidate_range_start_nonblock()
517 if (mm_has_notifiers(range->mm)) in mmu_notifier_invalidate_range_end()
524 if (mm_has_notifiers(range->mm)) in mmu_notifier_invalidate_range_only_end()
528 static inline void mmu_notifier_invalidate_range(struct mm_struct *mm, in mmu_notifier_invalidate_range() argument
531 if (mm_has_notifiers(mm)) in mmu_notifier_invalidate_range()
532 __mmu_notifier_invalidate_range(mm, start, end); in mmu_notifier_invalidate_range()
537 extern bool mmu_notifier_subscriptions_init(struct mm_struct *mm);
538 extern void mmu_notifier_subscriptions_destroy(struct mm_struct *mm);
540 static inline bool mmu_notifier_trylock(struct mm_struct *mm) in mmu_notifier_trylock() argument
543 &get_notifier_subscriptions_hdr(mm)->mmu_notifier_lock->rw_sem); in mmu_notifier_trylock()
546 static inline void mmu_notifier_unlock(struct mm_struct *mm) in mmu_notifier_unlock() argument
549 &get_notifier_subscriptions_hdr(mm)->mmu_notifier_lock->rw_sem); in mmu_notifier_unlock()
554 static inline bool mmu_notifier_subscriptions_init(struct mm_struct *mm) in mmu_notifier_subscriptions_init() argument
556 mm->notifier_subscriptions = NULL; in mmu_notifier_subscriptions_init()
560 static inline void mmu_notifier_subscriptions_destroy(struct mm_struct *mm) in mmu_notifier_subscriptions_destroy() argument
562 if (mm_has_notifiers(mm)) in mmu_notifier_subscriptions_destroy()
563 __mmu_notifier_subscriptions_destroy(mm); in mmu_notifier_subscriptions_destroy()
566 static inline bool mmu_notifier_trylock(struct mm_struct *mm) in mmu_notifier_trylock() argument
571 static inline void mmu_notifier_unlock(struct mm_struct *mm) in mmu_notifier_unlock() argument
581 struct mm_struct *mm, in mmu_notifier_range_init() argument
587 range->mm = mm; in mmu_notifier_range_init()
595 struct vm_area_struct *vma, struct mm_struct *mm, in mmu_notifier_range_init_migrate() argument
598 mmu_notifier_range_init(range, MMU_NOTIFY_MIGRATE, flags, vma, mm, in mmu_notifier_range_init_migrate()
725 #define mmu_notifier_range_init(range,event,flags,vma,mm,start,end) \ argument
727 #define mmu_notifier_range_init_migrate(range, flags, vma, mm, start, end, \ argument
737 static inline int mm_has_notifiers(struct mm_struct *mm) in mm_has_notifiers() argument
742 static inline void mmu_notifier_release(struct mm_struct *mm) in mmu_notifier_release() argument
746 static inline int mmu_notifier_clear_flush_young(struct mm_struct *mm, in mmu_notifier_clear_flush_young() argument
753 static inline int mmu_notifier_test_young(struct mm_struct *mm, in mmu_notifier_test_young() argument
759 static inline void mmu_notifier_change_pte(struct mm_struct *mm, in mmu_notifier_change_pte() argument
785 static inline void mmu_notifier_invalidate_range(struct mm_struct *mm, in mmu_notifier_invalidate_range() argument
790 static inline bool mmu_notifier_subscriptions_init(struct mm_struct *mm) in mmu_notifier_subscriptions_init() argument
795 static inline void mmu_notifier_subscriptions_destroy(struct mm_struct *mm) in mmu_notifier_subscriptions_destroy() argument
799 static inline bool mmu_notifier_trylock(struct mm_struct *mm) in mmu_notifier_trylock() argument
804 static inline void mmu_notifier_unlock(struct mm_struct *mm) in mmu_notifier_unlock() argument