/linux-master/include/linux/ |
H A D | mmu_notifier.h | 40 * that the mm refcount is zero and the range is no longer accessible. 66 * Called either by mmu_notifier_unregister or when the mm is 69 * methods (the ones invoked outside the mm context) and it 74 * tsk->mm == mm exits. 81 * last thread of this mm quits, you've also to be sure that 89 struct mm_struct *mm); 101 struct mm_struct *mm, 111 struct mm_struct *mm, 122 struct mm_struct *mm, 240 struct mm_struct *mm; member in struct:mmu_notifier 260 struct mm_struct *mm; member in struct:mmu_interval_notifier 272 struct mm_struct *mm; member in struct:mmu_notifier_range 280 mm_has_notifiers(struct mm_struct *mm) argument 288 mmu_notifier_get(const struct mmu_notifier_ops *ops, struct mm_struct *mm) argument 410 mmu_notifier_release(struct mm_struct *mm) argument 416 mmu_notifier_clear_flush_young(struct mm_struct *mm, unsigned long start, unsigned long end) argument 425 mmu_notifier_clear_young(struct mm_struct *mm, unsigned long start, unsigned long end) argument 434 mmu_notifier_test_young(struct mm_struct *mm, unsigned long address) argument 442 mmu_notifier_change_pte(struct mm_struct *mm, unsigned long address, pte_t pte) argument 493 mmu_notifier_arch_invalidate_secondary_tlbs(struct mm_struct *mm, unsigned long start, unsigned long end) argument 500 mmu_notifier_subscriptions_init(struct mm_struct *mm) argument 505 mmu_notifier_subscriptions_destroy(struct mm_struct *mm) argument 512 mmu_notifier_range_init(struct mmu_notifier_range *range, enum mmu_notifier_event event, unsigned flags, struct mm_struct *mm, unsigned long start, unsigned long end) argument 526 mmu_notifier_range_init_owner( struct mmu_notifier_range *range, enum mmu_notifier_event event, unsigned int flags, struct mm_struct *mm, unsigned long start, unsigned long end, void *owner) argument 631 mm_has_notifiers(struct mm_struct *mm) argument 636 mmu_notifier_release(struct mm_struct *mm) argument 640 mmu_notifier_clear_flush_young(struct mm_struct *mm, unsigned long start, unsigned long end) argument 647 mmu_notifier_test_young(struct mm_struct *mm, unsigned long address) argument 653 mmu_notifier_change_pte(struct mm_struct *mm, unsigned long address, pte_t pte) argument 674 mmu_notifier_arch_invalidate_secondary_tlbs(struct mm_struct *mm, unsigned long start, unsigned long end) argument 679 mmu_notifier_subscriptions_init(struct mm_struct *mm) argument 683 mmu_notifier_subscriptions_destroy(struct mm_struct *mm) argument [all...] |
/linux-master/arch/sparc/include/asm/ |
H A D | tlbflush_64.h | 13 struct mm_struct *mm; member in struct:tlb_batch 21 void flush_tsb_user_page(struct mm_struct *mm, unsigned long vaddr, 26 static inline void flush_tlb_mm(struct mm_struct *mm) argument 56 static inline void global_flush_tlb_page(struct mm_struct *mm, unsigned long vaddr) argument 58 __flush_tlb_page(CTX_HWBITS(mm->context), vaddr); 64 void smp_flush_tlb_page(struct mm_struct *mm, unsigned long vaddr); 66 #define global_flush_tlb_page(mm, vaddr) \ 67 smp_flush_tlb_page(mm, vaddr)
|
/linux-master/arch/sh/include/asm/ |
H A D | pgalloc.h | 5 #include <linux/mm.h> 14 extern void pgd_free(struct mm_struct *mm, pgd_t *pgd); 17 extern void pud_populate(struct mm_struct *mm, pud_t *pudp, pmd_t *pmd); 18 extern pmd_t *pmd_alloc_one(struct mm_struct *mm, unsigned long address); 19 extern void pmd_free(struct mm_struct *mm, pmd_t *pmd); 20 #define __pmd_free_tlb(tlb, pmdp, addr) pmd_free((tlb)->mm, (pmdp)) 23 static inline void pmd_populate_kernel(struct mm_struct *mm, pmd_t *pmd, argument 29 static inline void pmd_populate(struct mm_struct *mm, pmd_t *pmd, argument
|
/linux-master/arch/arm/include/asm/ |
H A D | vdso.h | 13 void arm_install_vdso(struct mm_struct *mm, unsigned long addr); 19 static inline void arm_install_vdso(struct mm_struct *mm, unsigned long addr) argument
|
/linux-master/arch/loongarch/include/asm/ |
H A D | mmu_context.h | 34 #define cpu_context(cpu, mm) ((mm)->context.asid[cpu]) 36 #define cpu_asid(cpu, mm) (cpu_context((cpu), (mm)) & cpu_asid_mask(&cpu_data[cpu])) 38 static inline int asid_valid(struct mm_struct *mm, unsigned int cpu) argument 40 if ((cpu_context(cpu, mm) ^ asid_cache(cpu)) & asid_version_mask(cpu)) 46 static inline void enter_lazy_tlb(struct mm_struct *mm, struct task_struct *tsk) argument 52 get_new_mmu_context(struct mm_struct *mm, unsigned long cpu) argument 59 cpu_context(cpu, mm) = asid_cache(cpu) = asid; 67 init_new_context(struct task_struct *tsk, struct mm_struct *mm) argument 116 destroy_context(struct mm_struct *mm) argument 128 drop_mmu_context(struct mm_struct *mm, unsigned int cpu) argument [all...] |
/linux-master/arch/sparc/power/ |
H A D | hibernate.c | 8 #include <linux/mm.h> 37 struct mm_struct *mm = current->active_mm; local 39 tsb_context_switch_ctx(mm, CTX_HWBITS(mm->context));
|
/linux-master/include/asm-generic/ |
H A D | mmu_context.h | 15 * @mm: the currently active mm context which is becoming lazy 18 * tsk->mm will be NULL 21 static inline void enter_lazy_tlb(struct mm_struct *mm, argument 29 * @tsk: task struct for the mm 30 * @mm: the new mm struct 35 struct mm_struct *mm) 42 * destroy_context - Undo init_new_context when the mm is going away 43 * @mm 34 init_new_context(struct task_struct *tsk, struct mm_struct *mm) argument 46 destroy_context(struct mm_struct *mm) argument 70 deactivate_mm(struct task_struct *tsk, struct mm_struct *mm) argument [all...] |
H A D | mm_hooks.h | 11 struct mm_struct *mm) 16 static inline void arch_exit_mmap(struct mm_struct *mm) argument 20 static inline void arch_unmap(struct mm_struct *mm, argument 10 arch_dup_mmap(struct mm_struct *oldmm, struct mm_struct *mm) argument
|
/linux-master/arch/hexagon/include/asm/ |
H A D | tlbflush.h | 11 #include <linux/mm.h> 25 extern void flush_tlb_mm(struct mm_struct *mm); 39 * they would only be located by consulting the mm structure, and they 43 #define flush_tlb_pgtables(mm, start, end)
|
/linux-master/arch/powerpc/include/asm/nohash/ |
H A D | tlbflush.h | 8 * - flush_tlb_mm(mm) flushes the specified mm context TLB's 10 * - local_flush_tlb_mm(mm, full) flushes the specified mm context on 35 static inline void local_flush_tlb_mm(struct mm_struct *mm) argument 37 unsigned int pid = READ_ONCE(mm->context.id); 48 static inline void local_flush_tlb_page_psize(struct mm_struct *mm, argument 65 extern void local_flush_tlb_mm(struct mm_struct *mm); 67 void local_flush_tlb_page_psize(struct mm_struct *mm, unsigned long vmaddr, int psize); 69 extern void __local_flush_tlb_page(struct mm_struct *mm, unsigne [all...] |
/linux-master/arch/powerpc/include/asm/ |
H A D | pgalloc.h | 5 #include <linux/mm.h> 8 static inline gfp_t pgtable_gfp_flags(struct mm_struct *mm, gfp_t gfp) argument 10 if (unlikely(mm == &init_mm)) 15 static inline gfp_t pgtable_gfp_flags(struct mm_struct *mm, gfp_t gfp) argument 23 pte_t *pte_fragment_alloc(struct mm_struct *mm, int kernel); 25 static inline pte_t *pte_alloc_one_kernel(struct mm_struct *mm) argument 27 return (pte_t *)pte_fragment_alloc(mm, 1); 30 static inline pgtable_t pte_alloc_one(struct mm_struct *mm) argument 32 return (pgtable_t)pte_fragment_alloc(mm, 0); 38 static inline void pte_free_kernel(struct mm_struct *mm, pte_ argument 43 pte_free(struct mm_struct *mm, pgtable_t ptepage) argument [all...] |
H A D | pkeys.h | 52 #define mm_pkey_allocation_map(mm) (mm->context.pkey_allocation_map) 54 #define __mm_pkey_allocated(mm, pkey) { \ 55 mm_pkey_allocation_map(mm) |= pkey_alloc_mask(pkey); \ 58 #define __mm_pkey_free(mm, pkey) { \ 59 mm_pkey_allocation_map(mm) &= ~pkey_alloc_mask(pkey); \ 62 #define __mm_pkey_is_allocated(mm, pkey) \ 63 (mm_pkey_allocation_map(mm) & pkey_alloc_mask(pkey)) 68 static inline bool mm_pkey_is_allocated(struct mm_struct *mm, int pkey) argument 77 return __mm_pkey_is_allocated(mm, pke 85 mm_pkey_alloc(struct mm_struct *mm) argument 110 mm_pkey_free(struct mm_struct *mm, int pkey) argument [all...] |
/linux-master/arch/powerpc/mm/ |
H A D | mmu_context.c | 8 #include <linux/mm.h> 10 #include <linux/sched/mm.h> 17 struct mm_struct *mm) 20 tsk->thread.pgdir = mm->pgd; 22 tsk->thread.sr0 = mm->context.sr0; 25 tsk->thread.pid = mm->context.id; 30 struct mm_struct *mm) 33 get_paca()->pgd = mm->pgd; 35 tsk->thread.pid = mm->context.id; 40 struct mm_struct *mm) { } 16 switch_mm_pgdir(struct task_struct *tsk, struct mm_struct *mm) argument 29 switch_mm_pgdir(struct task_struct *tsk, struct mm_struct *mm) argument 39 switch_mm_pgdir(struct task_struct *tsk, struct mm_struct *mm) argument 110 arch_exit_mmap(struct mm_struct *mm) argument [all...] |
/linux-master/arch/m68k/include/asm/ |
H A D | mmu_context.h | 28 static inline void get_mmu_context(struct mm_struct *mm) argument 32 if (mm->context != NO_CONTEXT) 45 mm->context = ctx; 46 context_mm[ctx] = mm; 52 #define init_new_context(tsk, mm) (((mm)->context = NO_CONTEXT), 0) 58 static inline void destroy_context(struct mm_struct *mm) argument 60 if (mm->context != NO_CONTEXT) { 61 clear_bit(mm->context, context_map); 62 mm 84 activate_mm(struct mm_struct *active_mm, struct mm_struct *mm) argument 96 struct mm_struct *mm; local 178 init_new_context(struct task_struct *tsk, struct mm_struct *mm) argument 187 get_mmu_context(struct mm_struct *mm) argument 195 destroy_context(struct mm_struct *mm) argument 201 activate_context(struct mm_struct *mm) argument 227 init_new_context(struct task_struct *tsk, struct mm_struct *mm) argument 234 switch_mm_0230(struct mm_struct *mm) argument 267 switch_mm_0460(struct mm_struct *mm) argument [all...] |
H A D | motorola_pgalloc.h | 27 static inline pte_t *pte_alloc_one_kernel(struct mm_struct *mm) argument 32 static inline void pte_free_kernel(struct mm_struct *mm, pte_t *pte) argument 37 static inline pgtable_t pte_alloc_one(struct mm_struct *mm) argument 42 static inline void pte_free(struct mm_struct *mm, pgtable_t pgtable) argument 54 static inline pmd_t *pmd_alloc_one(struct mm_struct *mm, unsigned long address) argument 59 static inline int pmd_free(struct mm_struct *mm, pmd_t *pmd) argument 71 static inline void pgd_free(struct mm_struct *mm, pgd_t *pgd) argument 76 static inline pgd_t *pgd_alloc(struct mm_struct *mm) argument 82 static inline void pmd_populate_kernel(struct mm_struct *mm, pmd_t *pmd, pte_t *pte) argument 87 static inline void pmd_populate(struct mm_struct *mm, pmd_ argument 92 pud_populate(struct mm_struct *mm, pud_t *pud, pmd_t *pmd) argument [all...] |
/linux-master/arch/microblaze/include/asm/ |
H A D | mmu_context_mm.h | 75 * Get a new mmu context for the address space described by `mm'. 77 static inline void get_mmu_context(struct mm_struct *mm) argument 81 if (mm->context != NO_CONTEXT) 92 mm->context = ctx; 93 context_mm[ctx] = mm; 99 # define init_new_context(tsk, mm) (((mm)->context = NO_CONTEXT), 0) 105 static inline void destroy_context(struct mm_struct *mm) argument 107 if (mm->context != NO_CONTEXT) { 108 clear_bit(mm 127 activate_mm(struct mm_struct *active_mm, struct mm_struct *mm) argument [all...] |
/linux-master/arch/powerpc/include/asm/book3s/64/ |
H A D | tlbflush-radix.h | 65 extern void radix__flush_tlb_range_psize(struct mm_struct *mm, unsigned long start, 67 void radix__flush_tlb_pwc_range_psize(struct mm_struct *mm, unsigned long start, 77 extern void radix__local_flush_tlb_mm(struct mm_struct *mm); 78 extern void radix__local_flush_all_mm(struct mm_struct *mm); 80 extern void radix__local_flush_tlb_page_psize(struct mm_struct *mm, unsigned long vmaddr, 84 extern void radix__flush_tlb_mm(struct mm_struct *mm); 85 extern void radix__flush_all_mm(struct mm_struct *mm); 87 extern void radix__flush_tlb_page_psize(struct mm_struct *mm, unsigned long vmaddr, 90 #define radix__flush_tlb_mm(mm) radix__local_flush_tlb_mm(mm) [all...] |
/linux-master/arch/microblaze/mm/ |
H A D | mmu_context.c | 7 * Derived from arch/ppc/mm/4xx_mmu.c: 10 * Derived from arch/ppc/mm/init.c: 18 * Derived from "arch/i386/mm/init.c" 22 #include <linux/mm.h> 56 struct mm_struct *mm; local 62 mm = context_mm[next_mmu_context]; 63 flush_tlb_mm(mm); 64 destroy_context(mm);
|
/linux-master/arch/alpha/include/asm/ |
H A D | pgalloc.h | 5 #include <linux/mm.h> 17 pmd_populate(struct mm_struct *mm, pmd_t *pmd, pgtable_t pte) argument 23 pmd_populate_kernel(struct mm_struct *mm, pmd_t *pmd, pte_t *pte) argument 29 pud_populate(struct mm_struct *mm, pud_t *pud, pmd_t *pmd) argument 34 extern pgd_t *pgd_alloc(struct mm_struct *mm);
|
/linux-master/arch/powerpc/mm/book3s32/ |
H A D | tlb.c | 9 * Derived from arch/ppc/mm/init.c: 16 * Derived from "arch/i386/mm/init.c" 21 #include <linux/mm.h> 30 #include <mm/mmu_decl.h> 35 * - flush_tlb_mm(mm) flushes the specified mm context TLB's 50 void hash__flush_range(struct mm_struct *mm, unsigned long start, unsigned long end) argument 55 unsigned int ctx = mm->context.id; 61 pmd = pmd_off(mm, start); 79 * Flush all the (user) entries for the address space described by mm 81 hash__flush_tlb_mm(struct mm_struct *mm) argument 99 struct mm_struct *mm; local [all...] |
/linux-master/lib/ |
H A D | is_single_threaded.c | 10 #include <linux/sched/mm.h> 13 * Returns true if the task does not share ->mm with another thread/process. 18 struct mm_struct *mm = task->mm; local 25 if (atomic_read(&mm->mm_users) == 1) 37 if (unlikely(t->mm == mm)) 39 if (likely(t->mm)) 42 * t->mm == NULL. Make sure next_thread/next_task
|
/linux-master/arch/xtensa/include/asm/ |
H A D | pgalloc.h | 24 #define pmd_populate_kernel(mm, pmdp, ptep) \ 26 #define pmd_populate(mm, pmdp, page) \ 30 pgd_alloc(struct mm_struct *mm) argument 43 static inline pte_t *pte_alloc_one_kernel(struct mm_struct *mm) argument 47 ptep = (pte_t *)__pte_alloc_one_kernel(mm); 54 static inline pgtable_t pte_alloc_one(struct mm_struct *mm) argument 58 page = __pte_alloc_one(mm, GFP_PGTABLE_USER);
|
/linux-master/arch/hexagon/mm/ |
H A D | vm_tlb.c | 13 #include <linux/mm.h> 29 struct mm_struct *mm = vma->vm_mm; local 31 if (mm->context.ptbase == current->active_mm->context.ptbase) 57 void flush_tlb_mm(struct mm_struct *mm) argument 60 if (current->active_mm->context.ptbase == mm->context.ptbase) 69 struct mm_struct *mm = vma->vm_mm; local 71 if (mm->context.ptbase == current->active_mm->context.ptbase)
|
/linux-master/include/trace/events/ |
H A D | ksm.h | 71 * @mm: address of the mm object of the process 77 TP_PROTO(void *mm), 79 TP_ARGS(mm), 82 __field(void *, mm) 86 __entry->mm = mm; 89 TP_printk("mm %p", __entry->mm) 95 * @mm [all...] |
/linux-master/mm/ |
H A D | debug.c | 3 * mm/debug.c 5 * mm/ specific debug routines. 10 #include <linux/mm.h> 168 pr_emerg("vma %px start %px end %px mm %px\n" 180 void dump_mm(const struct mm_struct *mm) argument 182 pr_emerg("mm %px task_size %lu\n" 210 mm, mm->task_size, 212 mm->get_unmapped_area, 214 mm [all...] |