On Tue, Jul 08, 2014 at 05:59:58PM -0400, j.glisse@xxxxxxxxx wrote: > +int mmput_register_notifier(struct notifier_block *nb) > +{ > + return blocking_notifier_chain_register(&mmput_notifier, nb); > +} > +EXPORT_SYMBOL_GPL(mmput_register_notifier); > + > +int mmput_unregister_notifier(struct notifier_block *nb) > +{ > + return blocking_notifier_chain_unregister(&mmput_notifier, nb); > +} > +EXPORT_SYMBOL_GPL(mmput_unregister_notifier); I am still not convinced that this is required. For core code that needs to hook into mmput (like aio or uprobes) it really improves code readability if their teardown functions are called explicitly in mmput. And drivers that deal with the mm can use the already existing mmu_notifers. That works at least for the AMD-IOMMUv2 and KFD drivers. Maybe HMM is different here, but then you should explain why and how it is different and why you can't add an explicit teardown function for HMM. Joerg -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>