函数逻辑报告

Linux Kernel

v5.5.9

Brick Technologies Co., Ltd

Source Code:mm\mmu_notifier.c Create Date:2022-07-27 17:10:49
Last Modify:2020-03-12 14:18:49 Copyright©Brick
首页 函数Tree
注解内核,赢得工具下载SCCTEnglish

函数名称:This releases the mm_count pin automatically and frees the mm* structure if it was the last user of it. It serializes against* running mmu notifiers with SRCU and against mmu_notifier_unregister* with the unregister lock + SRCU

函数原型:void mmu_notifier_unregister(struct mmu_notifier *mn, struct mm_struct *mm)

返回类型:void

参数:

类型参数名称
struct mmu_notifier *mn
struct mm_struct *mm
761  BUG_ON(atomic_read( & *@mm_count: The number of references to &struct mm_struct * (@mm_users count as 1). * Use mmgrab()/mmdrop() to modify. When this drops to 0, the * &struct mm_struct is freed.) <= 0)
763  如果非hlist_unhashed( & hlist)则
770  id等于srcu_read_lock - register a new reader for an SRCU-protected structure
775  如果releaserelease(mn, mm)
777  注销过期读锁
779  加自旋锁
784  hlist_del_init_rcu - deletes entry from hash list with re-initialization*@n: the element to delete from the hash list.* Note: list_unhashed() on the node return true after this. It is* useful for RCU based read lockfree traversal if the writer side
785  自旋锁解锁
792  synchronize_srcu - wait for prior SRCU read-side critical-section completion
794  BUG_ON(atomic_read( & *@mm_count: The number of references to &struct mm_struct * (@mm_users count as 1). * Use mmgrab()/mmdrop() to modify. When this drops to 0, the * &struct mm_struct is freed.) <= 0)
796  mmdrop(mm)