/linux-master/arch/arm64/mm/ |
H A D | contpte.c | 6 #include <linux/mm.h> 11 static inline bool mm_is_user(struct mm_struct *mm) argument 19 if (unlikely(mm_is_efi(mm))) 21 return mm != &init_mm; 29 static void contpte_try_unfold_partial(struct mm_struct *mm, unsigned long addr, argument 38 contpte_try_unfold(mm, addr, ptep, __ptep_get(ptep)); 44 contpte_try_unfold(mm, last_addr, last_ptep, 49 static void contpte_convert(struct mm_struct *mm, unsigned long addr, argument 52 struct vm_area_struct vma = TLB_FLUSH_VMA(mm, 0); 62 pte_t ptent = __ptep_get_and_clear(mm, add 76 __contpte_try_fold(struct mm_struct *mm, unsigned long addr, pte_t *ptep, pte_t pte) argument 140 __contpte_try_unfold(struct mm_struct *mm, unsigned long addr, pte_t *ptep, pte_t pte) argument 240 contpte_set_ptes(struct mm_struct *mm, unsigned long addr, pte_t *ptep, pte_t pte, unsigned int nr) argument 283 contpte_clear_full_ptes(struct mm_struct *mm, unsigned long addr, pte_t *ptep, unsigned int nr, int full) argument 291 contpte_get_and_clear_full_ptes(struct mm_struct *mm, unsigned long addr, pte_t *ptep, unsigned int nr, int full) argument 346 contpte_wrprotect_ptes(struct mm_struct *mm, unsigned long addr, pte_t *ptep, unsigned int nr) argument [all...] |
H A D | context.c | 3 * Based on arch/arm/mm/context.c 13 #include <linux/mm.h> 141 * If we find one, then we can update our mm to use newasid 144 * of the old ASID are updated to reflect the mm. Failure to do 158 static u64 new_context(struct mm_struct *mm) argument 161 u64 asid = atomic64_read(&mm->context.id); 179 if (refcount_read(&mm->context.pinned)) 215 void check_and_switch_context(struct mm_struct *mm) argument 224 asid = atomic64_read(&mm->context.id); 248 asid = atomic64_read(&mm 273 arm64_mm_context_get(struct mm_struct *mm) argument 319 arm64_mm_context_put(struct mm_struct *mm) argument 349 cpu_do_switch_mm(phys_addr_t pgd_phys, struct mm_struct *mm) argument [all...] |
/linux-master/drivers/gpu/drm/i915/gem/ |
H A D | i915_gem_pages.c | 29 obj->mm.madv = I915_MADV_DONTNEED; 40 obj->mm.get_page.sg_pos = pages->sgl; 41 obj->mm.get_page.sg_idx = 0; 42 obj->mm.get_dma_page.sg_pos = pages->sgl; 43 obj->mm.get_dma_page.sg_idx = 0; 45 obj->mm.pages = pages; 47 obj->mm.page_sizes.phys = i915_sg_dma_sizes(pages->sgl); 48 GEM_BUG_ON(!obj->mm.page_sizes.phys); 58 obj->mm.page_sizes.sg = 0; 60 if (obj->mm [all...] |
/linux-master/arch/parisc/kernel/ |
H A D | vdso.c | 11 #include <linux/mm.h> 32 current->mm->context.vdso_base = vma->vm_start; 50 * vDSO and insert it into the mm struct tree 58 struct mm_struct *mm = current->mm; local 62 if (mmap_write_lock_killable(mm)) 76 map_base = mm->mmap_base; 83 vma = _install_special_mapping(mm, vdso_text_start, vdso_text_len, 88 do_munmap(mm, vdso_text_start, PAGE_SIZE, NULL); 91 current->mm [all...] |
/linux-master/include/drm/ |
H A D | drm_buddy.h | 50 * drm_buddy_free* ownership is given back to the mm. 80 * the mm. Everything above is considered do-not-touch. 128 drm_buddy_block_size(struct drm_buddy *mm, argument 131 return mm->chunk_size << drm_buddy_block_order(block); 134 int drm_buddy_init(struct drm_buddy *mm, u64 size, u64 chunk_size); 136 void drm_buddy_fini(struct drm_buddy *mm); 141 int drm_buddy_alloc_blocks(struct drm_buddy *mm, 147 int drm_buddy_block_trim(struct drm_buddy *mm, 151 void drm_buddy_free_block(struct drm_buddy *mm, struct drm_buddy_block *block); 153 void drm_buddy_free_list(struct drm_buddy *mm, struc [all...] |
/linux-master/arch/s390/include/asm/ |
H A D | tlb.h | 16 * The modification of a pte of an active mm struct therefore is 74 __tlb_flush_mm_lazy(tlb->mm); 85 tlb->mm->context.flush_mm = 1; 88 if (mm_alloc_pgste(tlb->mm)) 89 gmap_unlink(tlb->mm, (unsigned long *)pte, address); 96 * If the mm uses a two level page table the single pmd is freed 103 if (mm_pmd_folded(tlb->mm)) 107 tlb->mm->context.flush_mm = 1; 116 * If the mm uses a four level page table the single p4d is freed 123 if (mm_p4d_folded(tlb->mm)) [all...] |
/linux-master/arch/riscv/kernel/ |
H A D | vdso.c | 10 #include <linux/mm.h> 55 current->mm->context.vdso = (void *)new_vma->vm_start; 104 struct mm_struct *mm = task->mm; local 106 VMA_ITERATOR(vmi, mm, 0); 108 mmap_read_lock(mm); 119 mmap_read_unlock(mm); 209 static int __setup_additional_pages(struct mm_struct *mm, argument 229 ret = _install_special_mapping(mm, vdso_base, VVAR_SIZE, 235 mm 256 struct mm_struct *mm = current->mm; local 272 struct mm_struct *mm = current->mm; local [all...] |
/linux-master/mm/ |
H A D | mmap_lock.c | 5 #include <linux/mm.h> 156 #define TRACE_MMAP_LOCK_EVENT(type, mm, ...) \ 160 memcg_path = get_mm_memcg_path(mm); \ 161 trace_mmap_lock_##type(mm, \ 180 #define TRACE_MMAP_LOCK_EVENT(type, mm, ...) \ 181 trace_mmap_lock_##type(mm, "", ##__VA_ARGS__) 199 static const char *get_mm_memcg_path(struct mm_struct *mm) argument 202 struct mem_cgroup *memcg = get_mem_cgroup_from_mm(mm); 228 void __mmap_lock_do_trace_start_locking(struct mm_struct *mm, bool write) argument 230 TRACE_MMAP_LOCK_EVENT(start_locking, mm, writ 234 __mmap_lock_do_trace_acquire_returned(struct mm_struct *mm, bool write, bool success) argument 241 __mmap_lock_do_trace_released(struct mm_struct *mm, bool write) argument [all...] |
/linux-master/arch/powerpc/mm/book3s64/ |
H A D | hash_tlb.c | 6 * Derived from arch/ppc64/mm/init.c: 13 * Derived from "arch/i386/mm/init.c" 21 #include <linux/mm.h> 40 void hpte_need_flush(struct mm_struct *mm, unsigned long addr, argument 63 psize = get_slice_psize(mm, addr); 72 psize = pte_pagesize_index(mm, addr, pte); /* shutup gcc */ 75 psize = pte_pagesize_index(mm, addr, pte); 90 vsid = get_user_vsid(&mm->context, addr, ssize); 104 flush_hash_page(vpn, rpte, psize, ssize, mm_is_thread_local(mm)); 119 if (i != 0 && (mm ! 224 flush_hash_table_pmd_range(struct mm_struct *mm, pmd_t *pmd, unsigned long addr) argument [all...] |
H A D | radix_tlb.c | 8 #include <linux/mm.h> 12 #include <linux/sched/mm.h> 368 static inline void _tlbiel_pid_multicast(struct mm_struct *mm, argument 371 struct cpumask *cpus = mm_cpumask(mm); 380 if (atomic_read(&mm->context.copros) > 0) 506 static inline void _tlbiel_va_multicast(struct mm_struct *mm, argument 510 struct cpumask *cpus = mm_cpumask(mm); 513 if (atomic_read(&mm->context.copros) > 0) 556 static inline void _tlbiel_va_range_multicast(struct mm_struct *mm, argument 561 struct cpumask *cpus = mm_cpumask(mm); 582 radix__local_flush_tlb_mm(struct mm_struct *mm) argument 596 radix__local_flush_all_mm(struct mm_struct *mm) argument 609 __flush_all_mm(struct mm_struct *mm, bool fullmm) argument 615 radix__local_flush_tlb_page_psize(struct mm_struct *mm, unsigned long vmaddr, int psize) argument 639 mm_needs_flush_escalation(struct mm_struct *mm) argument 663 exit_lazy_flush_tlb(struct mm_struct *mm, bool always_flush) argument 717 struct mm_struct *mm = arg; local 721 exit_flush_lazy_tlbs(struct mm_struct *mm) argument 735 exit_flush_lazy_tlbs(struct mm_struct *mm) argument 765 flush_type_needed(struct mm_struct *mm, bool fullmm) argument 834 radix__flush_tlb_mm(struct mm_struct *mm) argument 875 __flush_all_mm(struct mm_struct *mm, bool fullmm) argument 908 radix__flush_all_mm(struct mm_struct *mm) argument 914 radix__flush_tlb_page_psize(struct mm_struct *mm, unsigned long vmaddr, int psize) argument 1018 __radix__flush_tlb_range(struct mm_struct *mm, unsigned long start, unsigned long end) argument 1187 struct mm_struct *mm = tlb->mm; local 1235 __radix__flush_tlb_range_psize(struct mm_struct *mm, unsigned long start, unsigned long end, int psize, bool also_pwc) argument 1303 radix__flush_tlb_range_psize(struct mm_struct *mm, unsigned long start, unsigned long end, int psize) argument 1309 radix__flush_tlb_pwc_range_psize(struct mm_struct *mm, unsigned long start, unsigned long end, int psize) argument 1316 radix__flush_tlb_collapsed_pmd(struct mm_struct *mm, unsigned long addr) argument [all...] |
/linux-master/arch/loongarch/kernel/ |
H A D | vdso.c | 13 #include <linux/mm.h> 43 current->mm->context.vdso = (void *)(new_vma->vm_start); 133 struct mm_struct *mm = task->mm; local 136 VMA_ITERATOR(vmi, mm, 0); 138 mmap_read_lock(mm); 143 mmap_read_unlock(mm); 165 struct mm_struct *mm = current->mm; local 169 if (mmap_write_lock_killable(mm)) [all...] |
/linux-master/arch/riscv/mm/ |
H A D | tlbflush.c | 3 #include <linux/mm.h> 142 static inline unsigned long get_mm_asid(struct mm_struct *mm) argument 145 atomic_long_read(&mm->context.id) & asid_mask : FLUSH_TLB_NO_ASID; 148 void flush_tlb_mm(struct mm_struct *mm) argument 150 __flush_tlb_range(mm_cpumask(mm), get_mm_asid(mm), 154 void flush_tlb_mm_range(struct mm_struct *mm, argument 158 __flush_tlb_range(mm_cpumask(mm), get_mm_asid(mm), 216 bool arch_tlbbatch_should_defer(struct mm_struct *mm) argument 221 arch_tlbbatch_add_pending(struct arch_tlbflush_unmap_batch *batch, struct mm_struct *mm, unsigned long uaddr) argument 228 arch_flush_tlb_batched_pending(struct mm_struct *mm) argument [all...] |
H A D | hugetlbpage.c | 30 pte_t *huge_pte_alloc(struct mm_struct *mm, argument 42 pgd = pgd_offset(mm, addr); 43 p4d = p4d_alloc(mm, pgd, addr); 47 pud = pud_alloc(mm, p4d, addr); 58 pte = huge_pmd_share(mm, vma, addr, pud); 60 pte = (pte_t *)pmd_alloc(mm, pud, addr); 64 pmd = pmd_alloc(mm, pud, addr); 70 pte = pte_alloc_huge(mm, pmd, addr & napot_cont_mask(order)); 84 pte_t *huge_pte_offset(struct mm_struct *mm, argument 95 pgd = pgd_offset(mm, add 148 get_clear_contig(struct mm_struct *mm, unsigned long addr, pte_t *ptep, unsigned long pte_num) argument 169 get_clear_contig_flush(struct mm_struct *mm, unsigned long addr, pte_t *ptep, unsigned long pte_num) argument 200 clear_flush(struct mm_struct *mm, unsigned long addr, pte_t *ptep, unsigned long pgsize, unsigned long ncontig) argument 223 set_huge_pte_at(struct mm_struct *mm, unsigned long addr, pte_t *ptep, pte_t pte, unsigned long sz) argument 269 struct mm_struct *mm = vma->vm_mm; local 294 huge_ptep_get_and_clear(struct mm_struct *mm, unsigned long addr, pte_t *ptep) argument 309 huge_ptep_set_wrprotect(struct mm_struct *mm, unsigned long addr, pte_t *ptep) argument 349 huge_pte_clear(struct mm_struct *mm, unsigned long addr, pte_t *ptep, unsigned long sz) argument [all...] |
/linux-master/arch/parisc/include/asm/ |
H A D | mmu_context.h | 5 #include <linux/mm.h> 19 init_new_context(struct task_struct *tsk, struct mm_struct *mm) argument 21 BUG_ON(atomic_read(&mm->mm_users) != 1); 23 mm->context.space_id = alloc_sid(); 29 destroy_context(struct mm_struct *mm) argument 31 free_sid(mm->context.space_id); 32 mm->context.space_id = 0; 84 * for a new mm created in the exec path. There's also
|
/linux-master/arch/alpha/kernel/ |
H A D | smp.c | 18 #include <linux/sched/mm.h> 19 #include <linux/mm.h> 145 /* All kernel threads share the same mm context. */ 626 struct mm_struct *mm = x; local 627 if (mm == current->active_mm && !asn_locked()) 628 flush_tlb_current(mm); 630 flush_tlb_other(mm); 634 flush_tlb_mm(struct mm_struct *mm) argument 638 if (mm == current->active_mm) { 639 flush_tlb_current(mm); 661 struct mm_struct *mm; member in struct:flush_tlb_page_struct 669 struct mm_struct * mm = data->mm; local 681 struct mm_struct *mm = vma->vm_mm; local 721 struct mm_struct *mm = (struct mm_struct *) x; local 732 struct mm_struct *mm = vma->vm_mm; local [all...] |
/linux-master/mm/damon/ |
H A D | vaddr.c | 16 #include <linux/sched/mm.h> 44 struct mm_struct *mm; local 50 mm = get_task_mm(task); 52 return mm; 116 static int __damon_va_three_regions(struct mm_struct *mm, argument 120 VMA_ITERATOR(vmi, mm, 0); 176 struct mm_struct *mm; local 179 mm = damon_get_mm(t); 180 if (!mm) 183 mmap_read_lock(mm); 338 damon_hugetlb_mkold(pte_t *pte, struct mm_struct *mm, struct vm_area_struct *vma, unsigned long addr) argument 396 damon_va_mkold(struct mm_struct *mm, unsigned long addr) argument 407 __damon_va_prepare_access_check(struct mm_struct *mm, struct damon_region *r) argument 418 struct mm_struct *mm; local 540 damon_va_young(struct mm_struct *mm, unsigned long addr, unsigned long *folio_sz) argument 560 __damon_va_check_access(struct mm_struct *mm, struct damon_region *r, bool same_target, struct damon_attrs *attrs) argument 589 struct mm_struct *mm; local 637 struct mm_struct *mm; local [all...] |
/linux-master/arch/microblaze/mm/ |
H A D | fault.c | 2 * arch/microblaze/mm/fault.c 6 * Derived from "arch/ppc/mm/fault.c" 9 * Derived from "arch/i386/mm/fault.c" 29 #include <linux/mm.h> 90 struct mm_struct *mm = current->mm; local 109 if (unlikely(faulthandler_disabled() || !mm)) { 114 as is current->mm == NULL. */ 115 pr_emerg("Page fault in user mode with faulthandler_disabled(), mm = %p\n", 116 mm); [all...] |
/linux-master/arch/m68k/mm/ |
H A D | fault.c | 3 * linux/arch/m68k/mm/fault.c 9 #include <linux/mm.h> 73 struct mm_struct *mm = current->mm; local 79 regs->sr, regs->pc, address, error_code, mm ? mm->pgd : NULL); 85 if (faulthandler_disabled() || !mm) 93 mmap_read_lock(mm); 95 vma = find_vma(mm, address); 110 vma = expand_stack(mm, addres [all...] |
/linux-master/drivers/firmware/efi/ |
H A D | fdtparams.c | 84 u64 __init efi_get_fdt_params(struct efi_memory_map_data *mm) argument 94 [MMBASE] = { &mm->phys_map, sizeof(mm->phys_map) }, 95 [MMSIZE] = { &mm->size, sizeof(mm->size) }, 96 [DCSIZE] = { &mm->desc_size, sizeof(mm->desc_size) }, 97 [DCVERS] = { &mm->desc_version, sizeof(mm->desc_version) },
|
/linux-master/arch/arc/include/asm/ |
H A D | tlbflush.h | 9 #include <linux/mm.h> 12 void local_flush_tlb_mm(struct mm_struct *mm); 27 #define flush_tlb_mm(mm) local_flush_tlb_mm(mm) 37 extern void flush_tlb_mm(struct mm_struct *mm);
|
/linux-master/arch/csky/abiv1/ |
H A D | mmap.c | 5 #include <linux/mm.h> 28 struct mm_struct *mm = current->mm; local 58 vma = find_vma(mm, addr); 66 info.low_limit = mm->mmap_base;
|
/linux-master/arch/powerpc/include/asm/ |
H A D | hugetlb.h | 20 int slice_is_hugepage_only_range(struct mm_struct *mm, unsigned long addr, 23 static inline int is_hugepage_only_range(struct mm_struct *mm, argument 28 return slice_is_hugepage_only_range(mm, addr, len); 39 static inline pte_t huge_ptep_get_and_clear(struct mm_struct *mm, argument 42 return __pte(pte_update(mm, addr, ptep, ~0UL, 0, 1));
|
/linux-master/arch/csky/include/asm/ |
H A D | pgalloc.h | 7 #include <linux/mm.h> 13 static inline void pmd_populate_kernel(struct mm_struct *mm, pmd_t *pmd, argument 19 static inline void pmd_populate(struct mm_struct *mm, pmd_t *pmd, argument 27 static inline pte_t *pte_alloc_one_kernel(struct mm_struct *mm) argument 42 static inline pgd_t *pgd_alloc(struct mm_struct *mm) argument
|
/linux-master/arch/xtensa/mm/ |
H A D | tlb.c | 2 * arch/xtensa/mm/tlb.c 17 #include <linux/mm.h> 58 /* If mm is current, we simply assign the current task a new ASID, thus, 59 * invalidating all previous tlb entries. If mm is someone else's user mapping, 64 void local_flush_tlb_mm(struct mm_struct *mm) argument 68 if (mm == current->active_mm) { 71 mm->context.asid[cpu] = NO_CONTEXT; 72 activate_context(mm, cpu); 75 mm->context.asid[cpu] = NO_CONTEXT; 76 mm 93 struct mm_struct *mm = vma->vm_mm; local 130 struct mm_struct* mm = vma->vm_mm; local 177 struct mm_struct *mm = task->mm; local [all...] |
/linux-master/arch/sparc/include/asm/ |
H A D | hugetlb.h | 16 void set_huge_pte_at(struct mm_struct *mm, unsigned long addr, 18 void __set_huge_pte_at(struct mm_struct *mm, unsigned long addr, 22 pte_t huge_ptep_get_and_clear(struct mm_struct *mm, unsigned long addr, 33 static inline void huge_ptep_set_wrprotect(struct mm_struct *mm, argument 37 __set_huge_pte_at(mm, addr, ptep, pte_wrprotect(old_pte));
|