Home
last modified time | relevance | path

Searched refs:active_mm (Results 1 – 25 of 110) sorted by relevance

12345

/linux-6.6.21/Documentation/translations/zh_CN/mm/
Dactive_mm.rst3 :Original: Documentation/mm/active_mm.rst
21 Subject: Re: active_mm
31 > "mm" 和 "active_mm"应该如何使用? (如果
50 有 “tsk->active_mm”,它显示了当前活动的地址空间是什么。
52 规则是,对于一个有真实地址空间的进程(即tsk->mm是 non-NULL),active_mm
55 对于一个匿名进程,tsk->mm == NULL,而tsk->active_mm是匿名进程运行时
Dindex.rst40 active_mm
/linux-6.6.21/arch/hexagon/mm/
Dvm_tlb.c30 if (mm->context.ptbase == current->active_mm->context.ptbase) in flush_tlb_range()
59 if (current->active_mm->context.ptbase == mm->context.ptbase) in flush_tlb_mm()
70 if (mm->context.ptbase == current->active_mm->context.ptbase) in flush_tlb_page()
/linux-6.6.21/arch/arc/kernel/
Dtroubleshoot.c80 struct mm_struct *active_mm = current->active_mm; in show_faulting_vma() local
85 mmap_read_lock(active_mm); in show_faulting_vma()
86 vma = vma_lookup(active_mm, address); in show_faulting_vma()
107 mmap_read_unlock(active_mm); in show_faulting_vma()
/linux-6.6.21/arch/alpha/include/asm/
Dtlbflush.h84 flush_tlb_current(current->active_mm); in flush_tlb()
109 if (mm == current->active_mm) in flush_tlb_mm()
121 if (mm == current->active_mm) in flush_tlb_page()
Dcacheflush.h43 if (current->active_mm == mm) in flush_icache_user_page()
/linux-6.6.21/arch/powerpc/kernel/
Dswsusp.c31 switch_mmu_context(current->active_mm, current->active_mm, NULL); in restore_processor_state()
/linux-6.6.21/arch/ia64/mm/
Dtlb.c252 struct mm_struct *active_mm = current->active_mm; in ia64_global_tlb_purge() local
256 if (mm != active_mm) { in ia64_global_tlb_purge()
258 if (mm && active_mm) { in ia64_global_tlb_purge()
281 if (mm != active_mm) { in ia64_global_tlb_purge()
282 activate_context(active_mm); in ia64_global_tlb_purge()
319 if (mm != current->active_mm) { in __flush_tlb_range()
335 if (mm != current->active_mm || cpumask_weight(mm_cpumask(mm)) != 1) { in __flush_tlb_range()
/linux-6.6.21/arch/sparc/include/asm/
Dmmu_context_32.h28 #define activate_mm(active_mm, mm) switch_mm((active_mm), (mm), NULL) argument
Dmmu_context_64.h138 #define activate_mm(active_mm, mm) switch_mm(active_mm, mm, NULL) argument
/linux-6.6.21/arch/alpha/kernel/
Dsmp.c147 current->active_mm = &init_mm; in smp_callin()
167 cpuid, current, current->active_mm)); in smp_callin()
632 if (mm == current->active_mm && !asn_locked()) in ipi_flush_tlb_mm()
643 if (mm == current->active_mm) { in flush_tlb_mm()
676 if (mm == current->active_mm && !asn_locked()) in ipi_flush_tlb_page()
690 if (mm == current->active_mm) { in flush_tlb_page()
727 if (mm == current->active_mm && !asn_locked()) in ipi_flush_icache_page()
744 if (mm == current->active_mm) { in flush_icache_user_page()
/linux-6.6.21/Documentation/mm/
Dactive_mm.rst6 (running tasks with ->active_mm == mm && ->mm == NULL) on kernels
14 Subject: Re: active_mm
23 > Is there a brief description someplace on how "mm" vs. "active_mm" in
49 "stole" for such an anonymous user. For that, we have "tsk->active_mm",
53 non-NULL) the active_mm obviously always has to be the same as the real
56 For a anonymous process, tsk->mm == NULL, and tsk->active_mm is the
/linux-6.6.21/arch/m68k/include/asm/
Dtlbflush.h80 if (mm == current->active_mm) in flush_tlb_mm()
86 if (vma->vm_mm == current->active_mm) in flush_tlb_page()
93 if (vma->vm_mm == current->active_mm) in flush_tlb_range()
/linux-6.6.21/arch/hexagon/include/asm/
Dpgalloc.h74 current->active_mm->context.generation = kmap_generation; in pmd_populate_kernel()
84 ppmd = (pmd_t *)current->active_mm->pgd + pmdindex; in pmd_populate_kernel()
/linux-6.6.21/arch/arm64/include/asm/
Defi.h126 if (mm != current->active_mm) { in efi_set_pgd()
144 update_saved_ttbr0(current, current->active_mm); in efi_set_pgd()
/linux-6.6.21/arch/ia64/include/asm/
Dtlbflush.h67 if (mm == current->active_mm) in local_finish_flush_tlb_mm()
106 if (vma->vm_mm == current->active_mm) in flush_tlb_page()
/linux-6.6.21/drivers/firmware/efi/
Driscv-runtime.c136 switch_mm(current->active_mm, &efi_mm, NULL); in efi_virtmap_load()
141 switch_mm(&efi_mm, current->active_mm, NULL); in efi_virtmap_unload()
/linux-6.6.21/arch/sparc/mm/
Dfault_32.c51 (tsk->mm ? tsk->mm->context : tsk->active_mm->context)); in unhandled_fault()
54 (unsigned long) tsk->active_mm->pgd)); in unhandled_fault()
278 pgd = tsk->active_mm->pgd + offset; in do_sparc_fault()
/linux-6.6.21/arch/sparc/power/
Dhibernate.c37 struct mm_struct *mm = current->active_mm; in restore_processor_state()
/linux-6.6.21/arch/sparc/kernel/
Dunaligned_32.c229 current->active_mm->context)); in kernel_mna_trap_fault()
232 (unsigned long) current->active_mm->pgd)); in kernel_mna_trap_fault()
/linux-6.6.21/kernel/
Dkthread.c1412 struct mm_struct *active_mm; in kthread_use_mm() local
1428 active_mm = tsk->active_mm; in kthread_use_mm()
1429 tsk->active_mm = mm; in kthread_use_mm()
1432 switch_mm_irqs_off(active_mm, mm, tsk); in kthread_use_mm()
1448 mmdrop_lazy_tlb(active_mm); in kthread_use_mm()
/linux-6.6.21/arch/openrisc/kernel/
Dasm-offsets.c44 DEFINE(TASK_ACTIVE_MM, offsetof(struct task_struct, active_mm)); in main()
/linux-6.6.21/arch/parisc/include/asm/
Dtlbflush.h58 if (mm == current->active_mm) in flush_tlb_mm()
/linux-6.6.21/arch/arm/mm/
Dtlb-v4.S32 act_mm r3 @ get current->active_mm
/linux-6.6.21/arch/xtensa/mm/
Dtlb.c68 if (mm == current->active_mm) { in local_flush_tlb_mm()
186 mm = task->active_mm; in get_pte_for_vaddr()

12345