/linux-6.6.21/Documentation/translations/zh_CN/mm/ |
D | active_mm.rst | 3 :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是匿名进程运行时
|
D | index.rst | 40 active_mm
|
/linux-6.6.21/arch/hexagon/mm/ |
D | vm_tlb.c | 30 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/ |
D | troubleshoot.c | 80 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/ |
D | tlbflush.h | 84 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()
|
D | cacheflush.h | 43 if (current->active_mm == mm) in flush_icache_user_page()
|
/linux-6.6.21/arch/powerpc/kernel/ |
D | swsusp.c | 31 switch_mmu_context(current->active_mm, current->active_mm, NULL); in restore_processor_state()
|
/linux-6.6.21/arch/ia64/mm/ |
D | tlb.c | 252 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/ |
D | mmu_context_32.h | 28 #define activate_mm(active_mm, mm) switch_mm((active_mm), (mm), NULL) argument
|
D | mmu_context_64.h | 138 #define activate_mm(active_mm, mm) switch_mm(active_mm, mm, NULL) argument
|
/linux-6.6.21/arch/alpha/kernel/ |
D | smp.c | 147 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/ |
D | active_mm.rst | 6 (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/ |
D | tlbflush.h | 80 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/ |
D | pgalloc.h | 74 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/ |
D | efi.h | 126 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/ |
D | tlbflush.h | 67 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/ |
D | riscv-runtime.c | 136 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/ |
D | fault_32.c | 51 (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/ |
D | hibernate.c | 37 struct mm_struct *mm = current->active_mm; in restore_processor_state()
|
/linux-6.6.21/arch/sparc/kernel/ |
D | unaligned_32.c | 229 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/ |
D | kthread.c | 1412 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/ |
D | asm-offsets.c | 44 DEFINE(TASK_ACTIVE_MM, offsetof(struct task_struct, active_mm)); in main()
|
/linux-6.6.21/arch/parisc/include/asm/ |
D | tlbflush.h | 58 if (mm == current->active_mm) in flush_tlb_mm()
|
/linux-6.6.21/arch/arm/mm/ |
D | tlb-v4.S | 32 act_mm r3 @ get current->active_mm
|
/linux-6.6.21/arch/xtensa/mm/ |
D | tlb.c | 68 if (mm == current->active_mm) { in local_flush_tlb_mm() 186 mm = task->active_mm; in get_pte_for_vaddr()
|