/linux-6.3-rc2/include/linux/ |
A 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, 129 void (*change_pte)(struct mmu_notifier *subscription, 223 void (*free_notifier)(struct mmu_notifier *subscription); 237 struct mmu_notifier { struct 287 static inline struct mmu_notifier * 290 struct mmu_notifier *ret; in mmu_notifier_get() [all …]
|
/linux-6.3-rc2/mm/ |
A D | mmu_notifier.c | 302 struct mmu_notifier *subscription; in mn_hlist_release() 324 struct mmu_notifier, hlist); in mn_hlist_release() 369 struct mmu_notifier *subscription; in __mmu_notifier_clear_flush_young() 389 struct mmu_notifier *subscription; in __mmu_notifier_clear_young() 408 struct mmu_notifier *subscription; in __mmu_notifier_test_young() 430 struct mmu_notifier *subscription; in __mmu_notifier_change_pte() 479 struct mmu_notifier *subscription; in mn_hlist_invalidate_range_start() 556 struct mmu_notifier *subscription; in mn_hlist_invalidate_end() 610 struct mmu_notifier *subscription; in __mmu_notifier_invalidate_range() 734 static struct mmu_notifier * [all …]
|
A D | Makefile | 85 obj-$(CONFIG_MMU_NOTIFIER) += mmu_notifier.o
|
/linux-6.3-rc2/drivers/misc/sgi-gru/ |
A D | grutlbpurge.c | 209 static int gru_invalidate_range_start(struct mmu_notifier *mn, in gru_invalidate_range_start() 224 static void gru_invalidate_range_end(struct mmu_notifier *mn, in gru_invalidate_range_end() 238 static struct mmu_notifier *gru_alloc_notifier(struct mm_struct *mm) in gru_alloc_notifier() 252 static void gru_free_notifier(struct mmu_notifier *mn) in gru_free_notifier() 267 struct mmu_notifier *mn; in gru_register_mmu_notifier()
|
A D | grutables.h | 310 struct mmu_notifier ms_notifier;
|
/linux-6.3-rc2/arch/x86/kernel/cpu/sgx/ |
A D | encl.h | 48 struct mmu_notifier mmu_notifier; member
|
A D | encl.c | 753 static void sgx_mmu_notifier_release(struct mmu_notifier *mn, in sgx_mmu_notifier_release() 756 struct sgx_encl_mm *encl_mm = container_of(mn, struct sgx_encl_mm, mmu_notifier); in sgx_mmu_notifier_release() 778 static void sgx_mmu_notifier_free(struct mmu_notifier *mn) in sgx_mmu_notifier_free() 780 struct sgx_encl_mm *encl_mm = container_of(mn, struct sgx_encl_mm, mmu_notifier); in sgx_mmu_notifier_free() 842 encl_mm->mmu_notifier.ops = &sgx_mmu_notifier_ops; in sgx_encl_mm_add() 844 ret = __mmu_notifier_register(&encl_mm->mmu_notifier, mm); in sgx_encl_mm_add()
|
A D | driver.c | 73 mmu_notifier_unregister(&encl_mm->mmu_notifier, encl_mm->mm); in sgx_release()
|
/linux-6.3-rc2/drivers/misc/ocxl/ |
A D | link.c | 49 struct mmu_notifier mmu_notifier; member 494 static void invalidate_range(struct mmu_notifier *mn, in invalidate_range() 498 struct pe_data *pe_data = container_of(mn, struct pe_data, mmu_notifier); in invalidate_range() 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.3-rc2/drivers/iommu/arm/arm-smmu-v3/ |
A D | arm-smmu-v3-sva.c | 17 struct mmu_notifier mn; 189 static void arm_smmu_mm_invalidate_range(struct mmu_notifier *mn, in arm_smmu_mm_invalidate_range() 210 static void arm_smmu_mm_release(struct mmu_notifier *mn, struct mm_struct *mm) in arm_smmu_mm_release() 234 static void arm_smmu_mmu_notifier_free(struct mmu_notifier *mn) in arm_smmu_mmu_notifier_free()
|
/linux-6.3-rc2/Documentation/translations/zh_CN/mm/ |
A D | index.rst | 50 mmu_notifier
|
A D | mmu_notifier.rst | 1 :Original: Documentation/mm/mmu_notifier.rst
|
/linux-6.3-rc2/arch/s390/kvm/ |
A D | pv.c | 511 static void kvm_s390_pv_mmu_notifier_release(struct mmu_notifier *subscription, in kvm_s390_pv_mmu_notifier_release() 514 struct kvm *kvm = container_of(subscription, struct kvm, arch.pv.mmu_notifier); in kvm_s390_pv_mmu_notifier_release() 577 if (kvm->arch.pv.mmu_notifier.ops != &kvm_s390_pv_mmu_notifier_ops) { in kvm_s390_pv_init_vm() 578 kvm->arch.pv.mmu_notifier.ops = &kvm_s390_pv_mmu_notifier_ops; in kvm_s390_pv_init_vm() 579 mmu_notifier_register(&kvm->arch.pv.mmu_notifier, kvm->mm); in kvm_s390_pv_init_vm()
|
/linux-6.3-rc2/drivers/gpu/drm/amd/amdkfd/ |
A D | kfd_process.c | 875 mmu_notifier_put(&process->mmu_notifier); in kfd_create_process() 1155 static struct mmu_notifier *kfd_process_alloc_notifier(struct mm_struct *mm) in kfd_process_alloc_notifier() 1162 return p ? &p->mmu_notifier : ERR_PTR(-ESRCH); in kfd_process_alloc_notifier() 1165 static void kfd_process_free_notifier(struct mmu_notifier *mn) in kfd_process_free_notifier() 1167 kfd_unref_process(container_of(mn, struct kfd_process, mmu_notifier)); in kfd_process_free_notifier() 1170 static void kfd_process_notifier_release(struct mmu_notifier *mn, in kfd_process_notifier_release() 1179 p = container_of(mn, struct kfd_process, mmu_notifier); in kfd_process_notifier_release() 1194 mmu_notifier_put(&p->mmu_notifier); in kfd_process_notifier_release() 1358 struct mmu_notifier *mn; in create_process() 1420 BUG_ON(mn != &process->mmu_notifier); in create_process()
|
A D | kfd_priv.h | 844 struct mmu_notifier mmu_notifier; member
|
/linux-6.3-rc2/drivers/infiniband/hw/hfi1/ |
A D | mmu_rb.h | 36 struct mmu_notifier mn;
|
A D | mmu_rb.c | 18 static int mmu_notifier_range_start(struct mmu_notifier *, 252 static int mmu_notifier_range_start(struct mmu_notifier *mn, in mmu_notifier_range_start()
|
/linux-6.3-rc2/drivers/gpu/drm/nouveau/ |
A D | nouveau_svm.h | 10 struct mmu_notifier notifier;
|
A D | nouveau_svm.c | 255 nouveau_svmm_invalidate_range_start(struct mmu_notifier *mn, in nouveau_svmm_invalidate_range_start() 295 static void nouveau_svmm_free_notifier(struct mmu_notifier *mn) in nouveau_svmm_free_notifier()
|
/linux-6.3-rc2/Documentation/mm/ |
A D | index.rst | 53 mmu_notifier
|
/linux-6.3-rc2/drivers/iommu/amd/ |
A D | iommu_v2.c | 41 struct mmu_notifier mn; /* mmu_notifier handle */ 353 static struct pasid_state *mn_to_state(struct mmu_notifier *mn) in mn_to_state() 358 static void mn_invalidate_range(struct mmu_notifier *mn, in mn_invalidate_range() 375 static void mn_release(struct mmu_notifier *mn, struct mm_struct *mm) in mn_release()
|
/linux-6.3-rc2/virt/kvm/ |
A D | kvm_main.c | 516 static inline struct kvm *mmu_notifier_to_kvm(struct mmu_notifier *mn) in mmu_notifier_to_kvm() 518 return container_of(mn, struct kvm, mmu_notifier); in mmu_notifier_to_kvm() 686 static void kvm_mmu_notifier_change_pte(struct mmu_notifier *mn, in kvm_mmu_notifier_change_pte() 847 static int kvm_mmu_notifier_clear_young(struct mmu_notifier *mn, in kvm_mmu_notifier_clear_young() 870 static int kvm_mmu_notifier_test_young(struct mmu_notifier *mn, in kvm_mmu_notifier_test_young() 880 static void kvm_mmu_notifier_release(struct mmu_notifier *mn, in kvm_mmu_notifier_release() 904 kvm->mmu_notifier.ops = &kvm_mmu_notifier_ops; in kvm_init_mmu_notifier() 905 return mmu_notifier_register(&kvm->mmu_notifier, current->mm); in kvm_init_mmu_notifier() 1236 if (kvm->mmu_notifier.ops) in kvm_create_vm() 1237 mmu_notifier_unregister(&kvm->mmu_notifier, current->mm); in kvm_create_vm() [all …]
|
/linux-6.3-rc2/arch/s390/include/asm/ |
A D | kvm_host.h | 947 struct mmu_notifier mmu_notifier; member
|
/linux-6.3-rc2/drivers/iommu/intel/ |
A D | svm.c | 223 static void intel_invalidate_range(struct mmu_notifier *mn, in intel_invalidate_range() 233 static void intel_mm_release(struct mmu_notifier *mn, struct mm_struct *mm) in intel_mm_release()
|
/linux-6.3-rc2/Documentation/x86/ |
A D | sva.rst | 25 mmu_notifier() support to keep the device TLB cache and the CPU cache in 78 - Register for mmu_notifier() to track any page-table invalidations to keep
|