/linux-6.12.1/include/linux/ |
D | mmu_notifier.h | 13 struct mmu_notifier; 88 void (*release)(struct mmu_notifier *subscription, 100 int (*clear_flush_young)(struct mmu_notifier *subscription, 110 int (*clear_young)(struct mmu_notifier *subscription, 121 int (*test_young)(struct mmu_notifier *subscription, 175 int (*invalidate_range_start)(struct mmu_notifier *subscription, 177 void (*invalidate_range_end)(struct mmu_notifier *subscription, 198 struct mmu_notifier *subscription, 213 struct mmu_notifier *(*alloc_notifier)(struct mm_struct *mm); 214 void (*free_notifier)(struct mmu_notifier *subscription); [all …]
|
/linux-6.12.1/mm/ |
D | mmu_notifier.c | 304 struct mmu_notifier *subscription; in mn_hlist_release() 326 struct mmu_notifier, hlist); in mn_hlist_release() 371 struct mmu_notifier *subscription; in __mmu_notifier_clear_flush_young() 391 struct mmu_notifier *subscription; in __mmu_notifier_clear_young() 410 struct mmu_notifier *subscription; in __mmu_notifier_test_young() 464 struct mmu_notifier *subscription; in mn_hlist_invalidate_range_start() 541 struct mmu_notifier *subscription; in mn_hlist_invalidate_end() 576 struct mmu_notifier *subscription; in __mmu_notifier_arch_invalidate_secondary_tlbs() 596 int __mmu_notifier_register(struct mmu_notifier *subscription, in __mmu_notifier_register() 699 int mmu_notifier_register(struct mmu_notifier *subscription, in mmu_notifier_register() [all …]
|
D | Makefile | 85 obj-$(CONFIG_MMU_NOTIFIER) += mmu_notifier.o
|
/linux-6.12.1/drivers/iommu/arm/arm-smmu-v3/ |
D | arm-smmu-v3-sva.c | 127 static void arm_smmu_mm_arch_invalidate_secondary_tlbs(struct mmu_notifier *mn, in arm_smmu_mm_arch_invalidate_secondary_tlbs() 133 container_of(mn, struct arm_smmu_domain, mmu_notifier); in arm_smmu_mm_arch_invalidate_secondary_tlbs() 159 static void arm_smmu_mm_release(struct mmu_notifier *mn, struct mm_struct *mm) in arm_smmu_mm_release() 162 container_of(mn, struct arm_smmu_domain, mmu_notifier); in arm_smmu_mm_release() 191 static void arm_smmu_mmu_notifier_free(struct mmu_notifier *mn) in arm_smmu_mmu_notifier_free() 193 kfree(container_of(mn, struct arm_smmu_domain, mmu_notifier)); in arm_smmu_mmu_notifier_free() 378 mmu_notifier_put(&smmu_domain->mmu_notifier); in arm_smmu_sva_domain_free() 408 smmu_domain->mmu_notifier.ops = &arm_smmu_mmu_notifier_ops; in arm_smmu_sva_domain_alloc() 409 ret = mmu_notifier_register(&smmu_domain->mmu_notifier, mm); in arm_smmu_sva_domain_alloc()
|
D | arm-smmu-v3.h | 815 struct mmu_notifier mmu_notifier; member
|
/linux-6.12.1/drivers/misc/sgi-gru/ |
D | grutlbpurge.c | 207 static int gru_invalidate_range_start(struct mmu_notifier *mn, in gru_invalidate_range_start() 222 static void gru_invalidate_range_end(struct mmu_notifier *mn, in gru_invalidate_range_end() 236 static struct mmu_notifier *gru_alloc_notifier(struct mm_struct *mm) in gru_alloc_notifier() 250 static void gru_free_notifier(struct mmu_notifier *mn) in gru_free_notifier() 265 struct mmu_notifier *mn; in gru_register_mmu_notifier()
|
D | grutables.h | 310 struct mmu_notifier ms_notifier;
|
/linux-6.12.1/arch/x86/kernel/cpu/sgx/ |
D | encl.h | 48 struct mmu_notifier mmu_notifier; member
|
D | encl.c | 773 static void sgx_mmu_notifier_release(struct mmu_notifier *mn, in sgx_mmu_notifier_release() 776 struct sgx_encl_mm *encl_mm = container_of(mn, struct sgx_encl_mm, mmu_notifier); in sgx_mmu_notifier_release() 800 static void sgx_mmu_notifier_free(struct mmu_notifier *mn) in sgx_mmu_notifier_free() 802 struct sgx_encl_mm *encl_mm = container_of(mn, struct sgx_encl_mm, mmu_notifier); in sgx_mmu_notifier_free() 864 encl_mm->mmu_notifier.ops = &sgx_mmu_notifier_ops; in sgx_encl_mm_add() 866 ret = __mmu_notifier_register(&encl_mm->mmu_notifier, mm); in sgx_encl_mm_add()
|
D | driver.c | 73 mmu_notifier_unregister(&encl_mm->mmu_notifier, encl_mm->mm); in sgx_release()
|
/linux-6.12.1/drivers/misc/ocxl/ |
D | link.c | 49 struct mmu_notifier mmu_notifier; member 494 static void arch_invalidate_secondary_tlbs(struct mmu_notifier *mn, in arch_invalidate_secondary_tlbs() 498 struct pe_data *pe_data = container_of(mn, struct pe_data, mmu_notifier); in arch_invalidate_secondary_tlbs() 572 pe_data->mmu_notifier.ops = &ocxl_mmu_notifier_ops; in ocxl_link_add_pe() 596 mmu_notifier_register(&pe_data->mmu_notifier, mm); in ocxl_link_add_pe() 733 mmu_notifier_unregister(&pe_data->mmu_notifier, in ocxl_link_remove_pe()
|
/linux-6.12.1/drivers/iommu/amd/ |
D | pasid.c | 59 static void sva_arch_invalidate_secondary_tlbs(struct mmu_notifier *mn, in sva_arch_invalidate_secondary_tlbs() 80 static void sva_mn_release(struct mmu_notifier *mn, struct mm_struct *mm) in sva_mn_release()
|
/linux-6.12.1/Documentation/translations/zh_CN/mm/ |
D | index.rst | 49 mmu_notifier
|
D | mmu_notifier.rst | 1 :Original: Documentation/mm/mmu_notifier.rst
|
/linux-6.12.1/arch/s390/kvm/ |
D | pv.c | 535 static void kvm_s390_pv_mmu_notifier_release(struct mmu_notifier *subscription, in kvm_s390_pv_mmu_notifier_release() 538 struct kvm *kvm = container_of(subscription, struct kvm, arch.pv.mmu_notifier); in kvm_s390_pv_mmu_notifier_release() 603 if (kvm->arch.pv.mmu_notifier.ops != &kvm_s390_pv_mmu_notifier_ops) { in kvm_s390_pv_init_vm() 604 kvm->arch.pv.mmu_notifier.ops = &kvm_s390_pv_mmu_notifier_ops; in kvm_s390_pv_init_vm() 605 mmu_notifier_register(&kvm->arch.pv.mmu_notifier, kvm->mm); in kvm_s390_pv_init_vm()
|
/linux-6.12.1/drivers/infiniband/hw/hfi1/ |
D | mmu_rb.h | 39 struct mmu_notifier mn;
|
D | mmu_rb.c | 18 static int mmu_notifier_range_start(struct mmu_notifier *, 261 static int mmu_notifier_range_start(struct mmu_notifier *mn, in mmu_notifier_range_start()
|
/linux-6.12.1/drivers/gpu/drm/nouveau/ |
D | nouveau_svm.h | 10 struct mmu_notifier notifier;
|
/linux-6.12.1/drivers/gpu/drm/amd/amdkfd/ |
D | kfd_process.c | 1187 static struct mmu_notifier *kfd_process_alloc_notifier(struct mm_struct *mm) in kfd_process_alloc_notifier() 1194 return p ? &p->mmu_notifier : ERR_PTR(-ESRCH); in kfd_process_alloc_notifier() 1197 static void kfd_process_free_notifier(struct mmu_notifier *mn) in kfd_process_free_notifier() 1199 kfd_unref_process(container_of(mn, struct kfd_process, mmu_notifier)); in kfd_process_free_notifier() 1239 mmu_notifier_put(&p->mmu_notifier); in kfd_process_notifier_release_internal() 1242 static void kfd_process_notifier_release(struct mmu_notifier *mn, in kfd_process_notifier_release() 1251 p = container_of(mn, struct kfd_process, mmu_notifier); in kfd_process_notifier_release() 1498 struct mmu_notifier *mn; in create_process() 1565 BUG_ON(mn != &process->mmu_notifier); in create_process()
|
D | kfd_priv.h | 909 struct mmu_notifier mmu_notifier; member
|
/linux-6.12.1/Documentation/mm/ |
D | index.rst | 50 mmu_notifier
|
/linux-6.12.1/drivers/iommu/intel/ |
D | svm.c | 137 static void intel_arch_invalidate_secondary_tlbs(struct mmu_notifier *mn, in intel_arch_invalidate_secondary_tlbs() 156 static void intel_mm_release(struct mmu_notifier *mn, struct mm_struct *mm) in intel_mm_release() 185 static void intel_mm_free_notifier(struct mmu_notifier *mn) in intel_mm_free_notifier()
|
/linux-6.12.1/Documentation/core-api/ |
D | mm-api.rst | 139 .. kernel-doc:: mm/mmu_notifier.c
|
/linux-6.12.1/virt/kvm/ |
D | kvm_main.c | 537 static inline struct kvm *mmu_notifier_to_kvm(struct mmu_notifier *mn) in mmu_notifier_to_kvm() 539 return container_of(mn, struct kvm, mmu_notifier); in mmu_notifier_to_kvm() 669 static __always_inline int kvm_handle_hva_range(struct mmu_notifier *mn, in kvm_handle_hva_range() 687 static __always_inline int kvm_handle_hva_range_no_flush(struct mmu_notifier *mn, in kvm_handle_hva_range_no_flush() 753 static int kvm_mmu_notifier_invalidate_range_start(struct mmu_notifier *mn, in kvm_mmu_notifier_invalidate_range_start() 829 static void kvm_mmu_notifier_invalidate_range_end(struct mmu_notifier *mn, in kvm_mmu_notifier_invalidate_range_end() 860 static int kvm_mmu_notifier_clear_flush_young(struct mmu_notifier *mn, in kvm_mmu_notifier_clear_flush_young() 870 static int kvm_mmu_notifier_clear_young(struct mmu_notifier *mn, in kvm_mmu_notifier_clear_young() 893 static int kvm_mmu_notifier_test_young(struct mmu_notifier *mn, in kvm_mmu_notifier_test_young() 903 static void kvm_mmu_notifier_release(struct mmu_notifier *mn, in kvm_mmu_notifier_release() [all …]
|
/linux-6.12.1/arch/s390/include/asm/ |
D | kvm_host.h | 957 struct mmu_notifier mmu_notifier; member
|