STRUCT MMU_INTERVAL_NOTIFIER_FINISH(9)
β¨ struct mmu_...ifier_finish(9) β¨
okay so bestie, this is a page straight out of the Kernel API Manual, and it's giving βmmu_interval_notifier two-pass abstractionβ realness π«Ά buckle up, it's lowkey important π
πΈ NAME πΈ
struct mmu_interval_notifier_finish β the mmu_interval_notifier two-pass abstraction, no cap π
π¦ SYNOPSIS π¦
struct mmu_interval_notifier_finish {
struct llist_node link;
struct mmu_interval_notifier *notifier;
};
π Members π
linkβ Lockless list link for the notifiers pending pass list πnotifierβ Themmu_interval_notifierfor which the finish pass is called β¨
π Description π
Allocate this thing, typically using GFP_NOWAIT, in the interval notifier's start pass. But listen: with a large number of notifiers implementing two passes, allocation with GFP_NOWAIT will become increasingly likely to fail π so consider implementing a small pool instead of using kmalloc allocations. fr fr, plan ahead π§
If the implementation needs to pass data between the start and the finish passes, the recommended way is to embed struct mmu_interval_notifier_finish into a larger structure that also contains the data needed to be shared. Keep in mind that a notifier callback can be invoked in parallel, and each invocation needs its own struct mmu_interval_notifier_finish π
If allocation fails, then the mmu_interval_notifier_ops->invalidate_start op needs to implements the full notifier functionality. Please refer to its documentation. π
π SEE ALSO π
Kernel file ./include/linux/mmu_notifier.h β go check these besties:
enum mmu_notifier_event(9)struct mmu_interval_notifier_ops(9)mmu_interval_set_seq(9)mmu_interval_read_retry(9)mmu_interval_check_retry(9)
xoxo, this page comes from ./include/linux, dated October 2026, and it's the struct mmu_...ifier_finish(9) manual page. periodt ππ
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms