/linux-master/include/linux/ |
H A D | mm_api.h | 1 #include <linux/mm.h>
|
H A D | mmap_lock.h | 20 void __mmap_lock_do_trace_start_locking(struct mm_struct *mm, bool write); 21 void __mmap_lock_do_trace_acquire_returned(struct mm_struct *mm, bool write, 23 void __mmap_lock_do_trace_released(struct mm_struct *mm, bool write); 25 static inline void __mmap_lock_trace_start_locking(struct mm_struct *mm, argument 29 __mmap_lock_do_trace_start_locking(mm, write); 32 static inline void __mmap_lock_trace_acquire_returned(struct mm_struct *mm, argument 36 __mmap_lock_do_trace_acquire_returned(mm, write, success); 39 static inline void __mmap_lock_trace_released(struct mm_struct *mm, bool write) argument 42 __mmap_lock_do_trace_released(mm, write); 47 static inline void __mmap_lock_trace_start_locking(struct mm_struct *mm, argument 52 __mmap_lock_trace_acquire_returned(struct mm_struct *mm, bool write, bool success) argument 57 __mmap_lock_trace_released(struct mm_struct *mm, bool write) argument 63 mmap_assert_locked(struct mm_struct *mm) argument 69 mmap_assert_write_locked(struct mm_struct *mm) argument 84 vma_end_write_all(struct mm_struct *mm) argument 97 vma_end_write_all(struct mm_struct *mm) argument 100 mmap_init_lock(struct mm_struct *mm) argument 105 mmap_write_lock(struct mm_struct *mm) argument 112 mmap_write_lock_nested(struct mm_struct *mm, int subclass) argument 119 mmap_write_lock_killable(struct mm_struct *mm) argument 129 mmap_write_unlock(struct mm_struct *mm) argument 136 mmap_write_downgrade(struct mm_struct *mm) argument 143 mmap_read_lock(struct mm_struct *mm) argument 150 mmap_read_lock_killable(struct mm_struct *mm) argument 160 mmap_read_trylock(struct mm_struct *mm) argument 170 mmap_read_unlock(struct mm_struct *mm) argument 176 mmap_read_unlock_non_owner(struct mm_struct *mm) argument 182 mmap_lock_is_contended(struct mm_struct *mm) argument [all...] |
H A D | elf-randomize.h | 13 # define arch_randomize_brk(mm) (mm->brk) 17 extern unsigned long arch_randomize_brk(struct mm_struct *mm);
|
H A D | khugepaged.h | 13 extern void __khugepaged_enter(struct mm_struct *mm); 14 extern void __khugepaged_exit(struct mm_struct *mm); 20 extern int collapse_pte_mapped_thp(struct mm_struct *mm, unsigned long addr, 23 static inline int collapse_pte_mapped_thp(struct mm_struct *mm, argument 30 static inline void khugepaged_fork(struct mm_struct *mm, struct mm_struct *oldmm) argument 33 __khugepaged_enter(mm); 36 static inline void khugepaged_exit(struct mm_struct *mm) argument 38 if (test_bit(MMF_VM_HUGEPAGE, &mm->flags)) 39 __khugepaged_exit(mm); 42 static inline void khugepaged_fork(struct mm_struct *mm, struc argument 45 khugepaged_exit(struct mm_struct *mm) argument 52 collapse_pte_mapped_thp(struct mm_struct *mm, unsigned long addr, bool install_pmd) argument [all...] |
H A D | page_table_check.h | 17 void __page_table_check_pte_clear(struct mm_struct *mm, pte_t pte); 18 void __page_table_check_pmd_clear(struct mm_struct *mm, pmd_t pmd); 19 void __page_table_check_pud_clear(struct mm_struct *mm, pud_t pud); 20 void __page_table_check_ptes_set(struct mm_struct *mm, pte_t *ptep, pte_t pte, 22 void __page_table_check_pmd_set(struct mm_struct *mm, pmd_t *pmdp, pmd_t pmd); 23 void __page_table_check_pud_set(struct mm_struct *mm, pud_t *pudp, pud_t pud); 24 void __page_table_check_pte_clear_range(struct mm_struct *mm, 44 static inline void page_table_check_pte_clear(struct mm_struct *mm, pte_t pte) argument 49 __page_table_check_pte_clear(mm, pte); 52 static inline void page_table_check_pmd_clear(struct mm_struct *mm, pmd_ argument 60 page_table_check_pud_clear(struct mm_struct *mm, pud_t pud) argument 68 page_table_check_ptes_set(struct mm_struct *mm, pte_t *ptep, pte_t pte, unsigned int nr) argument 77 page_table_check_pmd_set(struct mm_struct *mm, pmd_t *pmdp, pmd_t pmd) argument 86 page_table_check_pud_set(struct mm_struct *mm, pud_t *pudp, pud_t pud) argument 95 page_table_check_pte_clear_range(struct mm_struct *mm, unsigned long addr, pmd_t pmd) argument 115 page_table_check_pte_clear(struct mm_struct *mm, pte_t pte) argument 119 page_table_check_pmd_clear(struct mm_struct *mm, pmd_t pmd) argument 123 page_table_check_pud_clear(struct mm_struct *mm, pud_t pud) argument 127 page_table_check_ptes_set(struct mm_struct *mm, pte_t *ptep, pte_t pte, unsigned int nr) argument 132 page_table_check_pmd_set(struct mm_struct *mm, pmd_t *pmdp, pmd_t pmd) argument 137 page_table_check_pud_set(struct mm_struct *mm, pud_t *pudp, pud_t pud) argument 142 page_table_check_pte_clear_range(struct mm_struct *mm, unsigned long addr, pmd_t pmd) argument [all...] |
H A D | pkeys.h | 5 #include <linux/mm.h> 13 #define execute_only_pkey(mm) (0) 23 static inline bool mm_pkey_is_allocated(struct mm_struct *mm, int pkey) argument 28 static inline int mm_pkey_alloc(struct mm_struct *mm) argument 33 static inline int mm_pkey_free(struct mm_struct *mm, int pkey) argument
|
/linux-master/arch/riscv/include/asm/ |
H A D | sync_core.h | 17 * instruction for the given @mm. 19 static inline void prepare_sync_core_cmd(struct mm_struct *mm) argument 21 cpumask_setall(&mm->context.icache_stale_mask); 24 static inline void prepare_sync_core_cmd(struct mm_struct *mm) argument
|
/linux-master/arch/x86/include/asm/ |
H A D | mmu_context.h | 55 static inline void init_new_context_ldt(struct mm_struct *mm) argument 57 mm->context.ldt = NULL; 58 init_rwsem(&mm->context.ldt_usr_sem); 60 int ldt_dup_context(struct mm_struct *oldmm, struct mm_struct *mm); 61 void destroy_context_ldt(struct mm_struct *mm); 62 void ldt_arch_exit_mmap(struct mm_struct *mm); 64 static inline void init_new_context_ldt(struct mm_struct *mm) { } argument 66 struct mm_struct *mm) 70 static inline void destroy_context_ldt(struct mm_struct *mm) { } argument 71 static inline void ldt_arch_exit_mmap(struct mm_struct *mm) { } argument 65 ldt_dup_context(struct mm_struct *oldmm, struct mm_struct *mm) argument 78 load_mm_ldt(struct mm_struct *mm) argument 89 mm_lam_cr3_mask(struct mm_struct *mm) argument 94 dup_lam(struct mm_struct *oldmm, struct mm_struct *mm) argument 101 mm_untag_mask(struct mm_struct *mm) argument 106 mm_reset_untag_mask(struct mm_struct *mm) argument 112 arch_pgtable_dma_compat(struct mm_struct *mm) argument 119 mm_lam_cr3_mask(struct mm_struct *mm) argument 124 dup_lam(struct mm_struct *oldmm, struct mm_struct *mm) argument 128 mm_reset_untag_mask(struct mm_struct *mm) argument 141 init_new_context(struct task_struct *tsk, struct mm_struct *mm) argument 163 destroy_context(struct mm_struct *mm) argument 195 arch_dup_pkeys(struct mm_struct *oldmm, struct mm_struct *mm) argument 208 arch_dup_mmap(struct mm_struct *oldmm, struct mm_struct *mm) argument 216 arch_exit_mmap(struct mm_struct *mm) argument 223 is_64bit_mm(struct mm_struct *mm) argument 229 is_64bit_mm(struct mm_struct *mm) argument 235 arch_unmap(struct mm_struct *mm, unsigned long start, unsigned long end) argument [all...] |
H A D | pkeys.h | 24 extern int __execute_only_pkey(struct mm_struct *mm); 25 static inline int execute_only_pkey(struct mm_struct *mm) argument 30 return __execute_only_pkey(mm); 46 #define mm_pkey_allocation_map(mm) (mm->context.pkey_allocation_map) 47 #define mm_set_pkey_allocated(mm, pkey) do { \ 48 mm_pkey_allocation_map(mm) |= (1U << pkey); \ 50 #define mm_set_pkey_free(mm, pkey) do { \ 51 mm_pkey_allocation_map(mm) &= ~(1U << pkey); \ 55 bool mm_pkey_is_allocated(struct mm_struct *mm, in argument 81 mm_pkey_alloc(struct mm_struct *mm) argument 108 mm_pkey_free(struct mm_struct *mm, int pkey) argument [all...] |
/linux-master/arch/m68k/include/asm/ |
H A D | flat.h | 13 if (current->mm) \ 14 (regs)->d5 = current->mm->start_data; \
|
/linux-master/arch/s390/include/asm/ |
H A D | pgalloc.h | 18 #include <linux/mm.h> 26 struct ptdesc *page_table_alloc_pgste(struct mm_struct *mm); 36 int crst_table_upgrade(struct mm_struct *mm, unsigned long limit); 38 static inline unsigned long check_asce_limit(struct mm_struct *mm, unsigned long addr, argument 43 if (addr + len > mm->context.asce_limit && 45 rc = crst_table_upgrade(mm, addr + len); 52 static inline p4d_t *p4d_alloc_one(struct mm_struct *mm, unsigned long address) argument 54 unsigned long *table = crst_table_alloc(mm); 61 static inline void p4d_free(struct mm_struct *mm, p4d_t *p4d) argument 63 if (!mm_p4d_folded(mm)) 67 pud_alloc_one(struct mm_struct *mm, unsigned long address) argument 75 pud_free(struct mm_struct *mm, pud_t *pud) argument 81 pmd_alloc_one(struct mm_struct *mm, unsigned long vmaddr) argument 95 pmd_free(struct mm_struct *mm, pmd_t *pmd) argument 103 pgd_populate(struct mm_struct *mm, pgd_t *pgd, p4d_t *p4d) argument 108 p4d_populate(struct mm_struct *mm, p4d_t *p4d, pud_t *pud) argument 113 pud_populate(struct mm_struct *mm, pud_t *pud, pmd_t *pmd) argument 118 pgd_alloc(struct mm_struct *mm) argument 123 pgd_free(struct mm_struct *mm, pgd_t *pgd) argument 128 pmd_populate(struct mm_struct *mm, pmd_t *pmd, pgtable_t pte) argument [all...] |
H A D | tlbflush.h | 5 #include <linux/mm.h> 27 /* Global TLB flush for the mm */ 42 * Flush TLB entries for a specific mm on all CPUs (in case gmap is used 45 static inline void __tlb_flush_mm(struct mm_struct *mm) argument 50 * If the machine has IDTE we prefer to do a per mm flush 51 * on all cpus instead of doing a local flush if the mm 55 atomic_inc(&mm->context.flush_count); 57 cpumask_copy(mm_cpumask(mm), &mm->context.cpu_attach_mask); 59 gmap_asce = READ_ONCE(mm 80 __tlb_flush_mm_lazy(struct mm_struct * mm) argument 112 flush_tlb_mm(struct mm_struct *mm) argument [all...] |
H A D | mmu_context.h | 20 struct mm_struct *mm) 24 spin_lock_init(&mm->context.lock); 25 INIT_LIST_HEAD(&mm->context.gmap_list); 26 cpumask_clear(&mm->context.cpu_attach_mask); 27 atomic_set(&mm->context.flush_count, 0); 28 atomic_set(&mm->context.protected_count, 0); 29 mm->context.gmap_asce = 0; 30 mm->context.flush_mm = 0; 32 mm->context.alloc_pgste = page_table_allocate_pgste || 34 (current->mm 19 init_new_context(struct task_struct *tsk, struct mm_struct *mm) argument 103 struct mm_struct *mm = tsk->mm; local [all...] |
/linux-master/arch/powerpc/include/asm/ |
H A D | copro.h | 16 int copro_handle_mm_fault(struct mm_struct *mm, unsigned long ea, 19 int copro_calculate_slb(struct mm_struct *mm, u64 ea, struct copro_slb *slb); 23 void copro_flush_all_slbs(struct mm_struct *mm); 25 static inline void copro_flush_all_slbs(struct mm_struct *mm) {} argument
|
H A D | mmu_context.h | 7 #include <linux/mm.h> 18 extern int init_new_context(struct task_struct *tsk, struct mm_struct *mm); 20 extern void destroy_context(struct mm_struct *mm); 24 extern bool mm_iommu_preregistered(struct mm_struct *mm); 25 extern long mm_iommu_new(struct mm_struct *mm, 28 extern long mm_iommu_newdev(struct mm_struct *mm, unsigned long ua, 31 extern long mm_iommu_put(struct mm_struct *mm, 33 extern void mm_iommu_init(struct mm_struct *mm); 34 extern struct mm_iommu_table_group_mem_t *mm_iommu_lookup(struct mm_struct *mm, 36 extern struct mm_iommu_table_group_mem_t *mm_iommu_get(struct mm_struct *mm, 45 mm_iommu_is_devmem(struct mm_struct *mm, unsigned long hpa, unsigned int pageshift, unsigned long *size) argument 50 mm_iommu_init(struct mm_struct *mm) argument 72 alloc_extended_context(struct mm_struct *mm, unsigned long ea) argument 88 need_extra_context(struct mm_struct *mm, unsigned long ea) argument 105 alloc_extended_context(struct mm_struct *mm, unsigned long ea) argument 113 need_extra_context(struct mm_struct *mm, unsigned long ea) argument 123 inc_mm_active_cpus(struct mm_struct *mm) argument 128 dec_mm_active_cpus(struct mm_struct *mm) argument 134 mm_context_add_copro(struct mm_struct *mm) argument 145 mm_context_remove_copro(struct mm_struct *mm) argument 196 mm_context_remove_vas_window(struct mm_struct *mm) argument [all...] |
/linux-master/arch/csky/include/asm/ |
H A D | cacheflush.h | 6 #include <linux/mm.h>
|
/linux-master/arch/sparc/include/asm/ |
H A D | mmu_context_64.h | 24 void get_new_mmu_context(struct mm_struct *mm); 27 int init_new_context(struct task_struct *tsk, struct mm_struct *mm); 29 void destroy_context(struct mm_struct *mm); 37 static inline void tsb_context_switch_ctx(struct mm_struct *mm, argument 40 __tsb_context_switch(__pa(mm->pgd), 41 &mm->context.tsb_block[MM_TSB_BASE], 43 (mm->context.tsb_block[MM_TSB_HUGE].tsb ? 44 &mm->context.tsb_block[MM_TSB_HUGE] : 49 , __pa(&mm->context.tsb_descr[MM_TSB_BASE]), 55 void tsb_grow(struct mm_struct *mm, 80 switch_mm(struct mm_struct *old_mm, struct mm_struct *mm, struct task_struct *tsk) argument 189 mm_untag_mask(struct mm_struct *mm) argument [all...] |
H A D | mmu_context_32.h | 13 int init_new_context(struct task_struct *tsk, struct mm_struct *mm); 21 void destroy_context(struct mm_struct *mm); 24 void switch_mm(struct mm_struct *old_mm, struct mm_struct *mm, 28 #define activate_mm(active_mm, mm) switch_mm((active_mm), (mm), NULL)
|
H A D | tlb_64.h | 16 void smp_flush_tlb_mm(struct mm_struct *mm); 17 #define do_flush_tlb_mm(mm) smp_flush_tlb_mm(mm) 19 #define do_flush_tlb_mm(mm) __flush_tlb_mm(CTX_HWBITS(mm->context), SECONDARY_CONTEXT)
|
/linux-master/arch/alpha/include/asm/ |
H A D | tlbflush.h | 5 #include <linux/mm.h> 21 ev4_flush_tlb_current(struct mm_struct *mm) argument 23 __load_new_mm_context(mm); 28 ev5_flush_tlb_current(struct mm_struct *mm) argument 30 __load_new_mm_context(mm); 38 ev4_flush_tlb_current_page(struct mm_struct * mm, argument 44 __load_new_mm_context(mm); 51 ev5_flush_tlb_current_page(struct mm_struct * mm, argument 56 __load_new_mm_context(mm); 89 flush_tlb_other(struct mm_struct *mm) argument 107 flush_tlb_mm(struct mm_struct *mm) argument 119 struct mm_struct *mm = vma->vm_mm; local [all...] |
/linux-master/arch/arm/include/asm/ |
H A D | mmu_context.h | 24 void __check_vmalloc_seq(struct mm_struct *mm); 27 static inline void check_vmalloc_seq(struct mm_struct *mm) argument 30 unlikely(atomic_read(&mm->context.vmalloc_seq) != 32 __check_vmalloc_seq(mm); 38 void check_and_switch_context(struct mm_struct *mm, struct task_struct *tsk); 42 init_new_context(struct task_struct *tsk, struct mm_struct *mm) argument 44 atomic64_set(&mm->context.id, 0); 49 void a15_erratum_get_cpumask(int this_cpu, struct mm_struct *mm, 52 static inline void a15_erratum_get_cpumask(int this_cpu, struct mm_struct *mm, argument 62 static inline void check_and_switch_context(struct mm_struct *mm, argument 85 struct mm_struct *mm = current->mm; local 142 enter_lazy_tlb(struct mm_struct *mm, struct task_struct *tsk) argument [all...] |
/linux-master/arch/parisc/include/asm/ |
H A D | tlbflush.h | 7 #include <linux/mm.h> 36 static inline void flush_tlb_mm(struct mm_struct *mm) argument 38 BUG_ON(mm == &init_mm); /* Should never happen */ 54 if (mm) { 55 if (mm->context != 0) 56 free_sid(mm->context); 57 mm->context = alloc_sid(); 58 if (mm == current->active_mm) 59 load_context(mm->context);
|
/linux-master/arch/arc/include/asm/ |
H A D | mmu_context.h | 6 * -Refactored get_new_mmu_context( ) to only handle live-mm. 7 * retiring-mm handled in other hooks 18 #include <linux/sched/mm.h> 38 * The 32 bit @asid_cpu (and mm->asid) have 8 bits MMU PID and rest 24 bits 49 #define asid_mm(mm, cpu) mm->context.asid[cpu] 50 #define hw_pid(mm, cpu) (asid_mm(mm, cpu) & MM_CTXT_ASID_MASK) 59 static inline void get_new_mmu_context(struct mm_struct *mm) argument 68 * This is done by ensuring that the generation bits in both mm 108 init_new_context(struct task_struct *tsk, struct mm_struct *mm) argument 119 destroy_context(struct mm_struct *mm) argument [all...] |
/linux-master/include/trace/events/ |
H A D | mmap_lock.h | 18 TP_PROTO(struct mm_struct *mm, const char *memcg_path, bool write), 20 TP_ARGS(mm, memcg_path, write), 23 __field(struct mm_struct *, mm) 29 __entry->mm = mm; 35 "mm=%p memcg_path=%s write=%s", 36 __entry->mm, 44 TP_PROTO(struct mm_struct *mm, const char *memcg_path, \ 46 TP_ARGS(mm, memcg_path, write), \ 54 TP_PROTO(struct mm_struct *mm, cons [all...] |
/linux-master/kernel/bpf/ |
H A D | mmap_unlock_work.h | 12 struct mm_struct *mm; member in struct:mmap_unlock_irq_work 49 static inline void bpf_mmap_unlock_mm(struct mmap_unlock_irq_work *work, struct mm_struct *mm) argument 52 mmap_read_unlock(mm); 54 work->mm = mm; 60 rwsem_release(&mm->mmap_lock.dep_map, _RET_IP_);
|