Home
last modified time | relevance | path

Searched refs:mmu_notifier (Results 1 – 25 of 33) sorted by relevance

12

/linux-6.15/include/linux/
H A Dmmu_notifier.h13 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,
198 struct mmu_notifier *subscription,
214 void (*free_notifier)(struct mmu_notifier *subscription);
228 struct mmu_notifier { struct
278 static inline struct mmu_notifier *
281 struct mmu_notifier *ret; in mmu_notifier_get()
[all …]
/linux-6.15/mm/
H A Dmmu_notifier.c304 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()
711 static struct mmu_notifier *
714 struct mmu_notifier *subscription; in find_get_mmu_notifier()
[all …]
H A DMakefile89 obj-$(CONFIG_MMU_NOTIFIER) += mmu_notifier.o
/linux-6.15/drivers/iommu/arm/arm-smmu-v3/
H A Darm-smmu-v3-sva.c136 static void arm_smmu_mm_arch_invalidate_secondary_tlbs(struct mmu_notifier *mn, in arm_smmu_mm_arch_invalidate_secondary_tlbs()
142 container_of(mn, struct arm_smmu_domain, mmu_notifier); in arm_smmu_mm_arch_invalidate_secondary_tlbs()
168 static void arm_smmu_mm_release(struct mmu_notifier *mn, struct mm_struct *mm) in arm_smmu_mm_release()
171 container_of(mn, struct arm_smmu_domain, mmu_notifier); in arm_smmu_mm_release()
200 static void arm_smmu_mmu_notifier_free(struct mmu_notifier *mn) in arm_smmu_mmu_notifier_free()
202 kfree(container_of(mn, struct arm_smmu_domain, mmu_notifier)); in arm_smmu_mmu_notifier_free()
392 mmu_notifier_put(&smmu_domain->mmu_notifier); in arm_smmu_sva_domain_free()
428 smmu_domain->mmu_notifier.ops = &arm_smmu_mmu_notifier_ops; in arm_smmu_sva_domain_alloc()
429 ret = mmu_notifier_register(&smmu_domain->mmu_notifier, mm); in arm_smmu_sva_domain_alloc()
H A Darm-smmu-v3.h871 struct mmu_notifier mmu_notifier; member
/linux-6.15/drivers/misc/sgi-gru/
H A Dgrutlbpurge.c207 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()
H A Dgrutables.h310 struct mmu_notifier ms_notifier;
/linux-6.15/drivers/iommu/intel/
H A Dsvm.c51 static void intel_arch_invalidate_secondary_tlbs(struct mmu_notifier *mn, in intel_arch_invalidate_secondary_tlbs()
70 static void intel_mm_release(struct mmu_notifier *mn, struct mm_struct *mm) in intel_mm_release()
99 static void intel_mm_free_notifier(struct mmu_notifier *mn) in intel_mm_free_notifier()
/linux-6.15/arch/x86/kernel/cpu/sgx/
H A Dencl.h48 struct mmu_notifier mmu_notifier; member
H A Dencl.c773 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()
H A Ddriver.c73 mmu_notifier_unregister(&encl_mm->mmu_notifier, encl_mm->mm); in sgx_release()
/linux-6.15/drivers/misc/ocxl/
H A Dlink.c49 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.15/drivers/iommu/amd/
H A Dpasid.c59 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.15/Documentation/translations/zh_CN/mm/
H A Dindex.rst49 mmu_notifier
H A Dmmu_notifier.rst1 :Original: Documentation/mm/mmu_notifier.rst
/linux-6.15/drivers/infiniband/hw/hfi1/
H A Dmmu_rb.h39 struct mmu_notifier mn;
H A Dmmu_rb.c18 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.15/drivers/gpu/drm/nouveau/
H A Dnouveau_svm.h10 struct mmu_notifier notifier;
/linux-6.15/arch/s390/kvm/
H A Dpv.c536 static void kvm_s390_pv_mmu_notifier_release(struct mmu_notifier *subscription, in kvm_s390_pv_mmu_notifier_release()
539 struct kvm *kvm = container_of(subscription, struct kvm, arch.pv.mmu_notifier); in kvm_s390_pv_mmu_notifier_release()
604 if (kvm->arch.pv.mmu_notifier.ops != &kvm_s390_pv_mmu_notifier_ops) { in kvm_s390_pv_init_vm()
605 kvm->arch.pv.mmu_notifier.ops = &kvm_s390_pv_mmu_notifier_ops; in kvm_s390_pv_init_vm()
606 mmu_notifier_register(&kvm->arch.pv.mmu_notifier, kvm->mm); in kvm_s390_pv_init_vm()
/linux-6.15/drivers/gpu/drm/amd/amdkfd/
H A Dkfd_process.c1202 static struct mmu_notifier *kfd_process_alloc_notifier(struct mm_struct *mm) in kfd_process_alloc_notifier()
1207 return p ? &p->mmu_notifier : ERR_PTR(-ESRCH); in kfd_process_alloc_notifier()
1210 static void kfd_process_free_notifier(struct mmu_notifier *mn) in kfd_process_free_notifier()
1212 kfd_unref_process(container_of(mn, struct kfd_process, mmu_notifier)); in kfd_process_free_notifier()
1252 mmu_notifier_put(&p->mmu_notifier); in kfd_process_notifier_release_internal()
1255 static void kfd_process_notifier_release(struct mmu_notifier *mn, in kfd_process_notifier_release()
1264 p = container_of(mn, struct kfd_process, mmu_notifier); in kfd_process_notifier_release()
1511 struct mmu_notifier *mn; in create_process()
1572 BUG_ON(mn != &process->mmu_notifier); in create_process()
H A Dkfd_priv.h912 struct mmu_notifier mmu_notifier; member
/linux-6.15/Documentation/mm/
H A Dindex.rst50 mmu_notifier
/linux-6.15/virt/kvm/
H A Dkvm_main.c507 static inline struct kvm *mmu_notifier_to_kvm(struct mmu_notifier *mn) in mmu_notifier_to_kvm()
509 return container_of(mn, struct kvm, mmu_notifier); in mmu_notifier_to_kvm()
652 static __always_inline int kvm_age_hva_range(struct mmu_notifier *mn, in kvm_age_hva_range()
846 static int kvm_mmu_notifier_clear_young(struct mmu_notifier *mn, in kvm_mmu_notifier_clear_young()
869 static int kvm_mmu_notifier_test_young(struct mmu_notifier *mn, in kvm_mmu_notifier_test_young()
879 static void kvm_mmu_notifier_release(struct mmu_notifier *mn, in kvm_mmu_notifier_release()
901 kvm->mmu_notifier.ops = &kvm_mmu_notifier_ops; in kvm_init_mmu_notifier()
902 return mmu_notifier_register(&kvm->mmu_notifier, current->mm); in kvm_init_mmu_notifier()
1223 if (kvm->mmu_notifier.ops) in kvm_create_vm()
1224 mmu_notifier_unregister(&kvm->mmu_notifier, current->mm); in kvm_create_vm()
[all …]
/linux-6.15/arch/s390/include/asm/
H A Dkvm_host.h631 struct mmu_notifier mmu_notifier; member
/linux-6.15/Documentation/core-api/
H A Dmm-api.rst139 .. kernel-doc:: mm/mmu_notifier.c

12