| /linux/drivers/gpu/ |
| H A D | buddy.c | 75 static struct gpu_buddy_block *gpu_block_alloc(struct gpu_buddy *mm, in gpu_block_alloc() argument 98 static void gpu_block_free(struct gpu_buddy *mm, in gpu_block_free() argument 128 static void rbtree_insert(struct gpu_buddy *mm, in rbtree_insert() argument 140 root = &mm->free_trees[tree][order]; in rbtree_insert() 166 static void rbtree_remove(struct gpu_buddy *mm, in rbtree_remove() argument 174 root = &mm->free_trees[tree][order]; in rbtree_remove() 190 static void mark_allocated(struct gpu_buddy *mm, in mark_allocated() argument 196 mm->free_scoreboard[gpu_buddy_block_order(block)]--; in mark_allocated() 197 mm->used_scoreboard[gpu_buddy_block_order(block)]++; in mark_allocated() 199 rbtree_remove(mm, block); in mark_allocated() [all …]
|
| /linux/arch/powerpc/include/asm/ |
| 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, [all …]
|
| /linux/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: address of the mm object of the process 101 TP_PROTO(void *mm), 103 TP_ARGS(mm) 109 * @mm: address of the mm object of the process [all …]
|
| /linux/arch/m68k/include/asm/ |
| H A D | mmu_context.h | 28 static inline void get_mmu_context(struct mm_struct *mm) in get_mmu_context() argument 32 if (mm->context != NO_CONTEXT) in get_mmu_context() 45 mm->context = ctx; in get_mmu_context() 46 context_mm[ctx] = mm; in get_mmu_context() 52 #define init_new_context(tsk, mm) (((mm)->context = NO_CONTEXT), 0) argument 58 static inline void destroy_context(struct mm_struct *mm) in destroy_context() argument 60 if (mm->context != NO_CONTEXT) { in destroy_context() 61 clear_bit(mm->context, context_map); in destroy_context() 62 mm->context = NO_CONTEXT; in destroy_context() 75 get_mmu_context(tsk->mm); in switch_mm() [all …]
|
| /linux/include/linux/ |
| H A D | mmap_lock.h | 15 #include <linux/sched/mm.h> 26 void __mmap_lock_do_trace_start_locking(struct mm_struct *mm, bool write); 27 void __mmap_lock_do_trace_acquire_returned(struct mm_struct *mm, bool write, 29 void __mmap_lock_do_trace_released(struct mm_struct *mm, bool write); 31 static inline void __mmap_lock_trace_start_locking(struct mm_struct *mm, in __mmap_lock_trace_start_locking() argument 35 __mmap_lock_do_trace_start_locking(mm, write); in __mmap_lock_trace_start_locking() 38 static inline void __mmap_lock_trace_acquire_returned(struct mm_struct *mm, in __mmap_lock_trace_acquire_returned() argument 42 __mmap_lock_do_trace_acquire_returned(mm, write, success); in __mmap_lock_trace_acquire_returned() 45 static inline void __mmap_lock_trace_released(struct mm_struct *mm, bool write) in __mmap_lock_trace_released() argument 48 __mmap_lock_do_trace_released(mm, write); in __mmap_lock_trace_released() [all …]
|
| /linux/arch/arm/mm/ |
| H A D | pgd.c | 3 * linux/arch/arm/mm/pgd.c 7 #include <linux/mm.h> 17 #include "mm.h" 20 #define _pgd_alloc(mm) kmalloc_objs(pgd_t, PTRS_PER_PGD, GFP_KERNEL | __GFP_ZERO) argument 21 #define _pgd_free(mm, pgd) kfree(pgd) argument 23 #define _pgd_alloc(mm) __pgd_alloc(mm, 2) argument 24 #define _pgd_free(mm, pgd) __pgd_free(mm, pgd) argument 30 pgd_t *pgd_alloc(struct mm_struct *mm) in pgd_alloc() argument 38 new_pgd = _pgd_alloc(mm); in pgd_alloc() 55 new_p4d = p4d_alloc(mm, new_pgd + pgd_index(MODULES_VADDR), in pgd_alloc() [all …]
|
| /linux/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) in check_vmalloc_seq() argument 30 unlikely(atomic_read(&mm->context.vmalloc_seq) != in check_vmalloc_seq() 32 __check_vmalloc_seq(mm); in check_vmalloc_seq() 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) in init_new_context() argument 44 atomic64_set(&mm->context.id, 0); in init_new_context() 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, in a15_erratum_get_cpumask() argument 62 static inline void check_and_switch_context(struct mm_struct *mm, in check_and_switch_context() argument [all …]
|
| /linux/fs/proc/ |
| H A D | task_nommu.c | 3 #include <linux/mm.h> 11 #include <linux/sched/mm.h> 21 void task_mem(struct seq_file *m, struct mm_struct *mm) in task_mem() argument 23 VMA_ITERATOR(vmi, mm, 0); in task_mem() 28 mmap_read_lock(mm); in task_mem() 40 if (atomic_read(&mm->mm_count) > 1 || in task_mem() 50 if (atomic_read(&mm->mm_count) > 1) in task_mem() 51 sbytes += kobjsize(mm); in task_mem() 53 bytes += kobjsize(mm); in task_mem() 72 mmap_read_unlock(mm); in task_mem() [all …]
|
| /linux/drivers/net/ethernet/mscc/ |
| H A D | ocelot_mm.c | 55 struct ocelot_mm_state *mm = &ocelot->mm[port]; in ocelot_port_update_active_preemptible_tcs() local 66 ocelot_port->speed == SPEED_1000) && mm->tx_active) in ocelot_port_update_active_preemptible_tcs() 67 val = mm->preemptible_tcs; in ocelot_port_update_active_preemptible_tcs() 75 mm->active_preemptible_tcs = val; in ocelot_port_update_active_preemptible_tcs() 79 "port %d %s/%s, MM TX %s, preemptible TCs 0x%x, active 0x%x\n", in ocelot_port_update_active_preemptible_tcs() 82 mm->tx_active ? "active" : "inactive", mm->preemptible_tcs, in ocelot_port_update_active_preemptible_tcs() 83 mm->active_preemptible_tcs); in ocelot_port_update_active_preemptible_tcs() 93 struct ocelot_mm_state *mm = &ocelot->mm[port]; in ocelot_port_change_fp() local 97 if (mm->preemptible_tcs == preemptible_tcs) in ocelot_port_change_fp() 100 mm->preemptible_tcs = preemptible_tcs; in ocelot_port_change_fp() [all …]
|
| /linux/rust/helpers/ |
| H A D | mm.c | 3 #include <linux/mm.h> 4 #include <linux/sched/mm.h> 6 __rust_helper void rust_helper_mmgrab(struct mm_struct *mm) in rust_helper_mmgrab() argument 8 mmgrab(mm); in rust_helper_mmgrab() 11 __rust_helper void rust_helper_mmdrop(struct mm_struct *mm) in rust_helper_mmdrop() argument 13 mmdrop(mm); in rust_helper_mmdrop() 16 __rust_helper void rust_helper_mmget(struct mm_struct *mm) in rust_helper_mmget() argument 18 mmget(mm); in rust_helper_mmget() 21 __rust_helper bool rust_helper_mmget_not_zero(struct mm_struct *mm) in rust_helper_mmget_not_zero() argument 23 return mmget_not_zero(mm); in rust_helper_mmget_not_zero() 26 rust_helper_mmap_read_lock(struct mm_struct * mm) rust_helper_mmap_read_lock() argument 31 rust_helper_mmap_read_trylock(struct mm_struct * mm) rust_helper_mmap_read_trylock() argument 36 rust_helper_mmap_read_unlock(struct mm_struct * mm) rust_helper_mmap_read_unlock() argument 41 rust_helper_vma_lookup(struct mm_struct * mm,unsigned long addr) rust_helper_vma_lookup() argument [all...] |
| /linux/tools/testing/vma/tests/ |
| H A D | merge.c | 73 static struct vm_area_struct *try_merge_new_vma(struct mm_struct *mm, in try_merge_new_vma() argument 93 return alloc_and_link_vma(mm, start, end, pgoff, vma_flags); in try_merge_new_vma() 101 struct mm_struct mm = {}; in test_simple_merge() local 102 struct vm_area_struct *vma_left = alloc_vma(&mm, 0, 0x1000, 0, vma_flags); in test_simple_merge() 103 struct vm_area_struct *vma_right = alloc_vma(&mm, 0x2000, 0x3000, 2, vma_flags); in test_simple_merge() 104 VMA_ITERATOR(vmi, &mm, 0x1000); in test_simple_merge() 106 .mm = &mm, in test_simple_merge() 115 ASSERT_FALSE(attach_vma(&mm, vma_left)); in test_simple_merge() 116 ASSERT_FALSE(attach_vma(&mm, vma_right)); in test_simple_merge() 128 mtree_destroy(&mm.mm_mt); in test_simple_merge() [all …]
|
| /linux/drivers/gpu/drm/amd/amdkfd/ |
| H A D | kfd_mqd_manager_v9.c | 38 static void update_mqd(struct mqd_manager *mm, void *mqd, 42 static uint64_t mqd_stride_v9(struct mqd_manager *mm, in mqd_stride_v9() argument 45 if (mm->dev->kfd->cwsr_enabled && in mqd_stride_v9() 57 return mm->mqd_size; in mqd_stride_v9() 70 static void update_cu_mask(struct mqd_manager *mm, void *mqd, in update_cu_mask() argument 79 mqd_symmetrically_map_cu_mask(mm, in update_cu_mask() 88 if (KFD_GC_VERSION(mm->dev) != IP_VERSION(9, 4, 3) && in update_cu_mask() 89 KFD_GC_VERSION(mm->dev) != IP_VERSION(9, 4, 4) && in update_cu_mask() 90 KFD_GC_VERSION(mm->dev) != IP_VERSION(9, 5, 0)) { in update_cu_mask() 119 static struct kfd_mem_obj *allocate_mqd(struct mqd_manager *mm, in allocate_mqd() argument [all …]
|
| /linux/drivers/gpu/drm/nouveau/nvkm/core/ |
| H A D | mm.c | 24 #include <core/mm.h> 26 #define node(root, dir) ((root)->nl_entry.dir == &mm->nodes) ? NULL : \ 30 nvkm_mm_dump(struct nvkm_mm *mm, const char *header) in nvkm_mm_dump() argument 36 list_for_each_entry(node, &mm->nodes, nl_entry) { in nvkm_mm_dump() 41 list_for_each_entry(node, &mm->free, fl_entry) { in nvkm_mm_dump() 48 nvkm_mm_free(struct nvkm_mm *mm, struct nvkm_mm_node **pthis) in nvkm_mm_free() argument 72 list_for_each_entry(prev, &mm->free, fl_entry) { in nvkm_mm_free() 86 region_head(struct nvkm_mm *mm, struct nvkm_mm_node *a, u32 size) in region_head() argument 111 nvkm_mm_head(struct nvkm_mm *mm, u8 heap, u8 type, u32 size_max, u32 size_min, in nvkm_mm_head() argument 121 list_for_each_entry(this, &mm->free, fl_entry) { in nvkm_mm_head() [all …]
|
| /linux/kernel/ |
| H A D | fork.c | 12 * management can be a bitch. See 'mm/memory.c': 'copy_page_range()' 18 #include <linux/sched/mm.h> 46 #include <linux/mm.h> 121 #include "../mm/internal.h" 482 /* SLAB cache for mm_struct structures (tsk->mm) */ 566 void dup_mm_exe_file(struct mm_struct *mm, struct mm_struct *oldmm) in dup_mm_exe_file() argument 571 RCU_INIT_POINTER(mm->exe_file, exe_file); in dup_mm_exe_file() 581 static inline int mm_alloc_pgd(struct mm_struct *mm) in mm_alloc_pgd() argument 583 mm->pgd = pgd_alloc(mm); in mm_alloc_pgd() 589 mm_free_pgd(struct mm_struct * mm) mm_free_pgd() argument 594 mm_alloc_pgd(mm) global() argument 595 mm_free_pgd(mm) global() argument 601 mm_alloc_id(struct mm_struct * mm) mm_alloc_id() argument 612 mm_free_id(struct mm_struct * mm) mm_free_id() argument 624 mm_alloc_id(struct mm_struct * mm) mm_alloc_id() argument 625 mm_free_id(struct mm_struct * mm) mm_free_id() argument 628 check_mm(struct mm_struct * mm) check_mm() argument 656 free_mm(mm) global() argument 660 struct mm_struct *mm = arg; do_check_lazy_tlb() local 667 struct mm_struct *mm = arg; do_shoot_lazy_tlb() local 676 cleanup_lazy_tlbs(struct mm_struct * mm) cleanup_lazy_tlbs() argument 724 __mmdrop(struct mm_struct * mm) __mmdrop() argument 749 struct mm_struct *mm; mmdrop_async_fn() local 755 mmdrop_async(struct mm_struct * mm) mmdrop_async() argument 1051 mm_init_aio(struct mm_struct * mm) mm_init_aio() argument 1059 mm_clear_owner(struct mm_struct * mm,struct task_struct * p) mm_clear_owner() argument 1068 mm_init_owner(struct mm_struct * mm,struct task_struct * p) mm_init_owner() argument 1075 mm_init_uprobes_state(struct mm_struct * mm) mm_init_uprobes_state() argument 1082 mmap_init_lock(struct mm_struct * mm) mmap_init_lock() argument 1091 mm_init(struct mm_struct * mm,struct task_struct * p) mm_init() argument 1174 struct mm_struct *mm; mm_alloc() local 1185 __mmput(struct mm_struct * mm) __mmput() argument 1211 mmput(struct mm_struct * mm) mmput() argument 1223 struct mm_struct *mm = container_of(work, struct mm_struct, mmput_async_fn() local 1229 mmput_async(struct mm_struct * mm) mmput_async() argument 1252 set_mm_exe_file(struct mm_struct * mm,struct file * new_exe_file) set_mm_exe_file() argument 1289 replace_mm_exe_file(struct mm_struct * mm,struct file * new_exe_file) replace_mm_exe_file() argument 1340 get_mm_exe_file(struct mm_struct * mm) get_mm_exe_file() argument 1361 struct mm_struct *mm; get_task_exe_file() local 1386 struct mm_struct *mm; get_task_mm() local 1400 may_access_mm(struct mm_struct * mm,struct task_struct * task,unsigned int mode) may_access_mm() argument 1413 struct mm_struct *mm; mm_access() local 1478 mm_release(struct task_struct * tsk,struct mm_struct * mm) mm_release() argument 1511 mm_exit_exec_release(struct task_struct * tsk,struct mm_struct * mm) mm_exit_exec_release() argument 1530 struct mm_struct *mm; dup_mm() local 1570 struct mm_struct *mm, *oldmm; copy_mm() local [all...] |
| /linux/arch/powerpc/mm/book3s64/ |
| H A D | mmu_context.c | 13 #include <linux/mm.h> 95 static int hash__init_new_context(struct mm_struct *mm) in hash__init_new_context() argument 99 mm->context.hash_context = kmalloc_obj(struct hash_mm_context); in hash__init_new_context() 100 if (!mm->context.hash_context) in hash__init_new_context() 110 * initialize context slice details for newly allocated mm's (which will in hash__init_new_context() 117 if (mm->context.id == 0) { in hash__init_new_context() 118 memset(mm->context.hash_context, 0, sizeof(struct hash_mm_context)); in hash__init_new_context() 119 slice_init_new_context_exec(mm); in hash__init_new_context() 121 /* This is fork. Copy hash_context details from current->mm */ in hash__init_new_context() 122 …memcpy(mm->context.hash_context, current->mm->context.hash_context, sizeof(struct hash_mm_context)… in hash__init_new_context() [all …]
|
| /linux/arch/x86/include/asm/ |
| H A D | pgalloc.h | 6 #include <linux/mm.h> /* for struct page */ 15 static inline int __paravirt_pgd_alloc(struct mm_struct *mm) { return 0; } in __paravirt_pgd_alloc() argument 20 #define paravirt_pgd_alloc(mm) __paravirt_pgd_alloc(mm) argument 21 static inline void paravirt_pgd_free(struct mm_struct *mm, pgd_t *pgd) {} in paravirt_pgd_free() argument 22 static inline void paravirt_alloc_pte(struct mm_struct *mm, unsigned long pfn) {} in paravirt_alloc_pte() argument 23 static inline void paravirt_alloc_pmd(struct mm_struct *mm, unsigned long pfn) {} in paravirt_alloc_pmd() argument 26 static inline void paravirt_alloc_pud(struct mm_struct *mm, unsigned long pfn) {} in paravirt_alloc_pud() argument 27 static inline void paravirt_alloc_p4d(struct mm_struct *mm, unsigned long pfn) {} in paravirt_alloc_p4d() argument 50 extern void pgd_free(struct mm_struct *mm, pgd_t *pgd); 62 static inline void pmd_populate_kernel(struct mm_struct *mm, in pmd_populate_kernel() argument [all …]
|
| /linux/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, in enter_lazy_tlb() argument 29 * @tsk: task struct for the mm 30 * @mm: the new mm struct 35 struct mm_struct *mm) in init_new_context() argument 42 * destroy_context - Undo init_new_context when the mm is going away 43 * @mm: old mm struct 46 static inline void destroy_context(struct mm_struct *mm) in destroy_context() argument 52 * activate_mm - called after exec switches the current task to a new mm, to switch to it [all …]
|
| /linux/arch/s390/mm/ |
| H A D | gmap_helpers.c | 11 #include <linux/mm.h> 21 * @mm: the mm 26 * This function returns the pointer to the pte corresponding to @addr in @mm, 39 * * the pointer to the pte corresponding to @addr in @mm, if it can be reached 42 pte_t *try_get_locked_pte(struct mm_struct *mm, unsigned long vmaddr, spinlock_t **ptl) in try_get_locked_pte() argument 51 pgdp = pgd_offset(mm, vmaddr); in try_get_locked_pte() 67 ptep = pte_offset_map_rw_nolock(mm, pmdp, vmaddr, &pmdval, ptl); in try_get_locked_pte() 86 * @mm: the mm 93 void gmap_helper_zap_one_page(struct mm_struct *mm, unsigned long vmaddr) in gmap_helper_zap_one_page() argument 101 mmap_assert_locked(mm); in gmap_helper_zap_one_page() [all …]
|
| /linux/arch/sparc/mm/ |
| H A D | tsb.c | 2 /* arch/sparc64/mm/tsb.c 121 struct mm_struct *mm = tb->mm; in flush_tsb_user() local 124 spin_lock_irqsave(&mm->context.lock, flags); in flush_tsb_user() 127 base = (unsigned long) mm->context.tsb_block[MM_TSB_BASE].tsb; in flush_tsb_user() 128 nentries = mm->context.tsb_block[MM_TSB_BASE].tsb_nentries; in flush_tsb_user() 140 else if (mm->context.tsb_block[MM_TSB_HUGE].tsb) { in flush_tsb_user() 141 base = (unsigned long) mm->context.tsb_block[MM_TSB_HUGE].tsb; in flush_tsb_user() 142 nentries = mm->context.tsb_block[MM_TSB_HUGE].tsb_nentries; in flush_tsb_user() 149 spin_unlock_irqrestore(&mm->context.lock, flags); in flush_tsb_user() 152 void flush_tsb_user_page(struct mm_struct *mm, unsigned long vaddr, in flush_tsb_user_page() argument [all …]
|
| /linux/drivers/gpu/drm/i915/gvt/ |
| H A D | gtt.c | 487 * MM helpers. 489 static void _ppgtt_get_root_entry(struct intel_vgpu_mm *mm, in _ppgtt_get_root_entry() argument 493 const struct intel_gvt_gtt_pte_ops *pte_ops = mm->vgpu->gvt->gtt.pte_ops; in _ppgtt_get_root_entry() 495 GEM_BUG_ON(mm->type != INTEL_GVT_MM_PPGTT); in _ppgtt_get_root_entry() 497 entry->type = mm->ppgtt_mm.root_entry_type; in _ppgtt_get_root_entry() 498 pte_ops->get_entry(guest ? mm->ppgtt_mm.guest_pdps : in _ppgtt_get_root_entry() 499 mm->ppgtt_mm.shadow_pdps, in _ppgtt_get_root_entry() 500 entry, index, false, 0, mm->vgpu); in _ppgtt_get_root_entry() 504 static inline void ppgtt_get_guest_root_entry(struct intel_vgpu_mm *mm, in ppgtt_get_guest_root_entry() argument 507 _ppgtt_get_root_entry(mm, entry, index, true); in ppgtt_get_guest_root_entry() [all …]
|
| /linux/Documentation/translations/zh_CN/core-api/ |
| H A D | mm-api.rst | 3 :Original: Documentation/core-api/mm-api.rst 31 mm/gup.c 51 mm/slab.c 53 mm/slab_common.c 55 mm/util.c 62 mm/vmalloc.c 73 mm/filemap.c 78 mm/readahead.c 83 mm/page-writeback.c 88 mm/truncate.c [all …]
|
| /linux/Documentation/ABI/testing/ |
| H A D | sysfs-kernel-mm-ksm | 1 What: /sys/kernel/mm/ksm 4 Contact: Linux memory management mailing list <linux-mm@kvack.org> 7 What: /sys/kernel/mm/ksm/full_scans 8 What: /sys/kernel/mm/ksm/pages_shared 9 What: /sys/kernel/mm/ksm/pages_sharing 10 What: /sys/kernel/mm/ksm/pages_to_scan 11 What: /sys/kernel/mm/ksm/pages_unshared 12 What: /sys/kernel/mm/ksm/pages_volatile 13 What: /sys/kernel/mm/ksm/run 14 What: /sys/kernel/mm/ksm/sleep_millisecs [all …]
|
| /linux/arch/mips/include/asm/ |
| H A D | mmu_context.h | 86 * assigned to a struct mm, and we'll never target it with a ginvt instruction. 106 static inline u64 cpu_context(unsigned int cpu, const struct mm_struct *mm) in cpu_context() argument 109 return atomic64_read(&mm->context.mmid); in cpu_context() 111 return mm->context.asid[cpu]; in cpu_context() 115 struct mm_struct *mm, u64 ctx) in set_cpu_context() argument 118 atomic64_set(&mm->context.mmid, ctx); in set_cpu_context() 120 mm->context.asid[cpu] = ctx; in set_cpu_context() 124 #define cpu_asid(cpu, mm) \ argument 125 (cpu_context((cpu), (mm)) & cpu_asid_mask(&cpu_data[cpu])) 127 extern void get_new_mmu_context(struct mm_struct *mm); [all …]
|
| /linux/mm/damon/ |
| H A D | vaddr.c | 15 #include <linux/sched/mm.h> 44 struct mm_struct *mm; in damon_get_mm() local 50 mm = get_task_mm(task); in damon_get_mm() 52 return mm; in damon_get_mm() 73 static int __damon_va_three_regions(struct mm_struct *mm, in __damon_va_three_regions() argument 77 VMA_ITERATOR(vmi, mm, 0); in __damon_va_three_regions() 135 struct mm_struct *mm; in damon_va_three_regions() local 138 mm = damon_get_mm(t); in damon_va_three_regions() 139 if (!mm) in damon_va_three_regions() 142 mmap_read_lock(mm); in damon_va_three_regions() [all …]
|
| /linux/arch/loongarch/include/asm/ |
| H A D | mmu_context.h | 34 #define cpu_context(cpu, mm) ((mm)->context.asid[cpu]) argument 36 #define cpu_asid(cpu, mm) (cpu_context((cpu), (mm)) & cpu_asid_mask(&cpu_data[cpu])) argument 38 static inline int asid_valid(struct mm_struct *mm, unsigned int cpu) in asid_valid() argument 40 if ((cpu_context(cpu, mm) ^ asid_cache(cpu)) & asid_version_mask(cpu)) in asid_valid() 46 static inline void enter_lazy_tlb(struct mm_struct *mm, struct task_struct *tsk) in enter_lazy_tlb() argument 52 get_new_mmu_context(struct mm_struct *mm, unsigned long cpu, bool *need_flush) in get_new_mmu_context() argument 59 cpu_context(cpu, mm) = asid_cache(cpu) = asid; in get_new_mmu_context() 67 init_new_context(struct task_struct *tsk, struct mm_struct *mm) in init_new_context() argument 72 cpu_context(i, mm) = 0; in init_new_context() 129 static inline void destroy_context(struct mm_struct *mm) in destroy_context() argument [all …]
|