Lines Matching refs:mm
66 struct mm_struct *mm);
78 struct mm_struct *mm,
88 struct mm_struct *mm,
99 struct mm_struct *mm,
107 struct mm_struct *mm,
160 struct mm_struct *mm,
164 struct mm_struct *mm,
189 void (*invalidate_range)(struct mmu_notifier *mn, struct mm_struct *mm,
209 static inline int mm_has_notifiers(struct mm_struct *mm) in mm_has_notifiers() argument
211 return unlikely(mm->mmu_notifier_mm); in mm_has_notifiers()
215 struct mm_struct *mm);
217 struct mm_struct *mm);
219 struct mm_struct *mm);
221 struct mm_struct *mm);
222 extern void __mmu_notifier_mm_destroy(struct mm_struct *mm);
223 extern void __mmu_notifier_release(struct mm_struct *mm);
224 extern int __mmu_notifier_clear_flush_young(struct mm_struct *mm,
227 extern int __mmu_notifier_clear_young(struct mm_struct *mm,
230 extern int __mmu_notifier_test_young(struct mm_struct *mm,
232 extern void __mmu_notifier_change_pte(struct mm_struct *mm,
234 extern int __mmu_notifier_invalidate_range_start(struct mm_struct *mm,
237 extern void __mmu_notifier_invalidate_range_end(struct mm_struct *mm,
240 extern void __mmu_notifier_invalidate_range(struct mm_struct *mm,
242 extern bool mm_has_blockable_invalidate_notifiers(struct mm_struct *mm);
244 static inline void mmu_notifier_release(struct mm_struct *mm) in mmu_notifier_release() argument
246 if (mm_has_notifiers(mm)) in mmu_notifier_release()
247 __mmu_notifier_release(mm); in mmu_notifier_release()
250 static inline int mmu_notifier_clear_flush_young(struct mm_struct *mm, in mmu_notifier_clear_flush_young() argument
254 if (mm_has_notifiers(mm)) in mmu_notifier_clear_flush_young()
255 return __mmu_notifier_clear_flush_young(mm, start, end); in mmu_notifier_clear_flush_young()
259 static inline int mmu_notifier_clear_young(struct mm_struct *mm, in mmu_notifier_clear_young() argument
263 if (mm_has_notifiers(mm)) in mmu_notifier_clear_young()
264 return __mmu_notifier_clear_young(mm, start, end); in mmu_notifier_clear_young()
268 static inline int mmu_notifier_test_young(struct mm_struct *mm, in mmu_notifier_test_young() argument
271 if (mm_has_notifiers(mm)) in mmu_notifier_test_young()
272 return __mmu_notifier_test_young(mm, address); in mmu_notifier_test_young()
276 static inline void mmu_notifier_change_pte(struct mm_struct *mm, in mmu_notifier_change_pte() argument
279 if (mm_has_notifiers(mm)) in mmu_notifier_change_pte()
280 __mmu_notifier_change_pte(mm, address, pte); in mmu_notifier_change_pte()
283 static inline void mmu_notifier_invalidate_range_start(struct mm_struct *mm, in mmu_notifier_invalidate_range_start() argument
286 if (mm_has_notifiers(mm)) in mmu_notifier_invalidate_range_start()
287 __mmu_notifier_invalidate_range_start(mm, start, end, true); in mmu_notifier_invalidate_range_start()
290 static inline int mmu_notifier_invalidate_range_start_nonblock(struct mm_struct *mm, in mmu_notifier_invalidate_range_start_nonblock() argument
293 if (mm_has_notifiers(mm)) in mmu_notifier_invalidate_range_start_nonblock()
294 return __mmu_notifier_invalidate_range_start(mm, start, end, false); in mmu_notifier_invalidate_range_start_nonblock()
298 static inline void mmu_notifier_invalidate_range_end(struct mm_struct *mm, in mmu_notifier_invalidate_range_end() argument
301 if (mm_has_notifiers(mm)) in mmu_notifier_invalidate_range_end()
302 __mmu_notifier_invalidate_range_end(mm, start, end, false); in mmu_notifier_invalidate_range_end()
305 static inline void mmu_notifier_invalidate_range_only_end(struct mm_struct *mm, in mmu_notifier_invalidate_range_only_end() argument
308 if (mm_has_notifiers(mm)) in mmu_notifier_invalidate_range_only_end()
309 __mmu_notifier_invalidate_range_end(mm, start, end, true); in mmu_notifier_invalidate_range_only_end()
312 static inline void mmu_notifier_invalidate_range(struct mm_struct *mm, in mmu_notifier_invalidate_range() argument
315 if (mm_has_notifiers(mm)) in mmu_notifier_invalidate_range()
316 __mmu_notifier_invalidate_range(mm, start, end); in mmu_notifier_invalidate_range()
319 static inline void mmu_notifier_mm_init(struct mm_struct *mm) in mmu_notifier_mm_init() argument
321 mm->mmu_notifier_mm = NULL; in mmu_notifier_mm_init()
324 static inline void mmu_notifier_mm_destroy(struct mm_struct *mm) in mmu_notifier_mm_destroy() argument
326 if (mm_has_notifiers(mm)) in mmu_notifier_mm_destroy()
327 __mmu_notifier_mm_destroy(mm); in mmu_notifier_mm_destroy()
443 static inline int mm_has_notifiers(struct mm_struct *mm) in mm_has_notifiers() argument
448 static inline void mmu_notifier_release(struct mm_struct *mm) in mmu_notifier_release() argument
452 static inline int mmu_notifier_clear_flush_young(struct mm_struct *mm, in mmu_notifier_clear_flush_young() argument
459 static inline int mmu_notifier_test_young(struct mm_struct *mm, in mmu_notifier_test_young() argument
465 static inline void mmu_notifier_change_pte(struct mm_struct *mm, in mmu_notifier_change_pte() argument
470 static inline void mmu_notifier_invalidate_range_start(struct mm_struct *mm, in mmu_notifier_invalidate_range_start() argument
475 static inline int mmu_notifier_invalidate_range_start_nonblock(struct mm_struct *mm, in mmu_notifier_invalidate_range_start_nonblock() argument
481 static inline void mmu_notifier_invalidate_range_end(struct mm_struct *mm, in mmu_notifier_invalidate_range_end() argument
486 static inline void mmu_notifier_invalidate_range_only_end(struct mm_struct *mm, in mmu_notifier_invalidate_range_only_end() argument
491 static inline void mmu_notifier_invalidate_range(struct mm_struct *mm, in mmu_notifier_invalidate_range() argument
496 static inline bool mm_has_blockable_invalidate_notifiers(struct mm_struct *mm) in mm_has_blockable_invalidate_notifiers() argument
501 static inline void mmu_notifier_mm_init(struct mm_struct *mm) in mmu_notifier_mm_init() argument
505 static inline void mmu_notifier_mm_destroy(struct mm_struct *mm) in mmu_notifier_mm_destroy() argument