慢慢欣赏arm64内核启动27 primary_entry之__primary_switch代码第三部分

展示代码

#ifdef CONFIG_RELOCATABLE
#ifdef CONFIG_RELR
	mov	x24, #0				// no RELR displacement yet
#endif
	bl	__relocate_kernel
#ifdef CONFIG_RANDOMIZE_BASE
	ldr	x8, =__primary_switched
	adrp	x0, __PHYS_OFFSET
	blr	x8

	/*
	 * If we return here, we have a KASLR displacement in x23 which we need
	 * to take into account by discarding the current kernel mapping and
	 * creating a new one.
	 */
	pre_disable_mmu_workaround
	msr	sctlr_el1, x20			// disable the MMU
	isb
	bl	__create_page_tables		// recreate kernel mapping

	tlbi	vmalle1				// Remove any stale TLB entries
	dsb	nsh
	isb

	msr	sctlr_el1, x19			// re-enable the MMU
	isb
	ic	iallu				// flush instructions fetched
	dsb	nsh				// via old mapping
	isb

	bl	__relocate_kernel
#endif
#endif
	ldr	x8, =__primary_switched
	adrp	x0, __PHYS_OFFSET
	br	x8
SYM_FUNC_END(__primary_switch)

分析代码

第1和第2行涉及到编译宏 CONFIG_RELOCATABLE 和 CONFIG_RELR,我们先忽略

这样我们到了第34行,第34行将 __primary_switched 的内核链接地址存放在了 x

O_dfd_98-28933 ( 824) [003] d..3. 31456.251041: sched_blocked_reason: pid=27163 iowait=0 caller=worker_thread+0x7c/0x740 layer1=worker_thread+0x7c/0x740 layer2=kthread+0x168/0x1dc layer3=ret_from_fork+0x10/0x20 layer4=0x0 <...>-1585 ( 824) [007] d..3. 31456.251043: sched_waking: comm=kswapd0 pid=92 prio=120 target_cpu=007 <...>-1585 ( 824) [007] d..3. 31456.251044: <stack trace> => autoremove_wake_function => __wake_up_common => wakeup_kswapd => __alloc_pages_slowpath => __alloc_pages => kbase_native_mgm_alloc => kbase_mem_alloc_page => kbase_mem_pool_alloc_pages => kbase_mem_pool_alloc_pages => kbase_alloc_phy_pages_helper => kbase_mem_alloc => kbase_jit_allocate => kbase_jit_allocate_process => kbase_process_soft_job => jd_submit_atom => kbase_jd_submit => kbase_kfile_ioctl => kbase_ioctl => __arm64_sys_ioctl => invoke_syscall => el0_svc_common => do_el0_svc => el0_svc => el0t_64_sync_handler => el0t_64_sync O_dfd_98-28933 ( 824) [003] d…3. 31456.251046: => __queue_work => mod_delayed_work_on => __blk_mq_delay_run_hw_queue => blk_mq_run_hw_queue => blk_mq_sched_insert_requests => blk_mq_flush_plug_list => blk_flush_plug_list => wait_on_page_bit_common => __get_node_page => f2fs_get_dnode_of_data => f2fs_map_blocks => f2fs_read_single_page => f2fs_mpage_readpages => f2fs_readahead => read_pages => page_cache_ra_unbounded => ondemand_readahead => page_cache_sync_ra => filemap_get_pages => filemap_read => f2fs_file_read_iter => vfs_read => __arm64_sys_pread64 => invoke_syscall => el0_svc_common => do_el0_svc => el0_svc => el0t_64_sync_handler => el0t_64_sync <…>-1585 ( 824) [007] d…3. 31456.251050: ipi_raise: target_mask=00000000,00000010 (Function call interrupts) <…>-1585 ( 824) [007] d…3. 31456.251051: => ttwu_queue_wakelist => ttwu_queue => try_to_wake_up => autoremove_wake_function => __wake_up_common => wakeup_kswapd => __alloc_pages_slowpath => __alloc_pages => kbase_native_mgm_alloc => kbase_mem_alloc_page => kbase_mem_pool_alloc_pages => kbase_mem_pool_alloc_pages => kbase_alloc_phy_pages_helper => kbase_mem_alloc => kbase_jit_allocate => kbase_jit_allocate_process => kbase_process_soft_job => jd_submit_atom => kbase_jd_submit => kbase_kfile_ioctl => kbase_ioctl => __arm64_sys_ioctl => invoke_syscall => el0_svc_common => do_el0_svc => el0_svc => el0t_64_sync_handler => el0t_64_sync -0 (-------) [004] d…1. 31456.251053: cpu_idle: state=4294967295 cpu_id=4 -0 (-------) [004] d…1. 31456.251054: => do_idle => cpu_startup_entry => secondary_start_kernel => __secondary_switched -0 (-------) [004] d.h1. 31456.251058: irq_handler_entry: irq=2 name=IPI -0 (-------) [004] d.h1. 31456.251060: => handle_domain_irq => gic_handle_irq.34504 => call_on_irq_stack => do_interrupt_handler => el1_interrupt => el1h_64_irq_handler => el1h_64_irq => cpuidle_enter_state => do_idle => cpu_startup_entry => secondary_start_kernel => __secondary_switched -0 (-------) [004] d.h1. 31456.251062: ipi_entry: (Function call interrupts) O_dfd_98-28933 ( 824) [003] d…4. 31456.251062: sched_wakeup: comm=kworker/3:1H pid=27163 prio=100 target_cpu=003 -0 (-------) [004] d.h1. 31456.251063: => do_handle_IPI => ipi_handler => handle_percpu_devid_irq => handle_domain_irq => gic_handle_irq.34504 => call_on_irq_stack => do_interrupt_handler => el1_interrupt => el1h_64_irq_handler => el1h_64_irq => cpuidle_enter_state => do_idle => cpu_startup_entry => secondary_start_kernel => __secondary_switched O_dfd_98-28933 ( 824) [003] d…4. 31456.251064: => ttwu_do_activate => ttwu_queue => try_to_wake_up => __queue_work => mod_delayed_work_on => __blk_mq_delay_run_hw_queue => blk_mq_run_hw_queue => blk_mq_sched_insert_requests => blk_mq_flush_plug_list => blk_flush_plug_list => wait_on_page_bit_common => __get_node_page => f2fs_get_dnode_of_data => f2fs_map_blocks => f2fs_read_single_page => f2fs_mpage_readpages => f2fs_readahead => read_pages => page_cache_ra_unbounded => ondemand_readahead => page_cache_sync_ra => filemap_get_pages => filemap_read => f2fs_file_read_iter => vfs_read => __arm64_sys_pread64 => invoke_syscall => el0_svc_common => do_el0_svc => el0_svc => el0t_64_sync_handler => el0t_64_sync android.imms2-1996 ( 1680) [005] … 31456.251064: mm_page_alloc: page=000000002b58d6a6 pfn=0x123439 order=0 migratetype=1 gfp_flags=GFP_HIGHUSER_MOVABLE|__GFP_ZERO|0x8000000 android.imms2-1996 ( 1680) [005] … 31456.251066: => alloc_zeroed_user_highpage_movable => do_anonymous_page => handle_pte_fault => __handle_mm_fault => do_handle_mm_fault => do_page_fault => do_translation_fault => do_mem_abort => el0_da => el0t_64_sync_handler => el0t_64_sync <…>-1585 ( 824) [007] … 31456.251067: mm_page_alloc: page=0000000004ea62ab pfn=0x12fb21 order=0 migratetype=0 gfp_flags=GFP_HIGHUSER|__GFP_ZERO <…>-1585 ( 824) [007] … 31456.251067: => kbase_native_mgm_alloc => kbase_mem_alloc_page => kbase_mem_pool_alloc_pages => kbase_mem_pool_alloc_pages => kbase_alloc_phy_pages_helper => kbase_mem_alloc => kbase_jit_allocate => kbase_jit_allocate_process => kbase_process_soft_job => jd_submit_atom => kbase_jd_submit => kbase_kfile_ioctl => kbase_ioctl => __arm64_sys_ioctl => invoke_syscall => el0_svc_common => do_el0_svc => el0_svc => el0t_64_sync_handler => el0t_64_sync mali-mem-purge-1565 ( 824) [000] d…2. 31456.251070: tracing_mark_write: C|9999|Cpu0_ux_state|0 <…>-1585 ( 824) [007] … 31456.251071: mm_page_alloc: page=00000000f2d74ccf pfn=0x12fb35 order=0 migratetype=0 gfp_flags=GFP_HIGHUSER|__GFP_ZERO <…>-1585 ( 824) [007] … 31456.251071: => kbase_native_mgm_alloc => kbase_mem_alloc_page => kbase_mem_pool_alloc_pages => kbase_mem_pool_alloc_pages => kbase_alloc_phy_pages_helper => kbase_mem_alloc => kbase_jit_allocate => kbase_jit_allocate_process => kbase_process_soft_job => jd_submit_atom => kbase_jd_submit => kbase_kfile_ioctl => kbase_ioctl => __arm64_sys_ioctl => invoke_syscall => el0_svc_common => do_el0_svc => el0_svc => el0t_64_sync_handler => el0t_64_sync mali-mem-purge-1565 ( 824) [000] d…2. 31456.251071: => __schedule => schedule => futex_wait_queue_me => futex_wait => do_futex => __arm64_sys_futex => invoke_syscall => el0_svc_common => do_el0_svc => el0_svc => el0t_64_sync_handler => el0t_64_sync <…>-1585 ( 824) [007] … 31456.251073: mm_page_alloc: page=00000000c3d17148 pfn=0x12fb4a order=0 migratetype=0 gfp_flags=GFP_HIGHUSER|__GFP_ZERO mali-mem-purge-1565 ( 824) [000] d…2. 31456.251074: tracing_mark_write: C|9999|Cpu0_sched_info|100000101 <…>-1585 ( 824) [007] … 31456.251074: => kbase_native_mgm_alloc => kbase_mem_alloc_page => kbase_mem_pool_alloc_pages => kbase_mem_pool_alloc_pages => kbase_alloc_phy_pages_helper => kbase_mem_alloc => kbase_jit_allocate => kbase_jit_allocate_process => kbase_process_soft_job => jd_submit_atom => kbase_jd_submit => kbase_kfile_ioctl => kbase_ioctl => __arm64_sys_ioctl => invoke_syscall => el0_svc_common => do_el0_svc => el0_svc => el0t_64_sync_handler => el0t_64_sync mali-mem-purge-1565 ( 824) [000] d…2. 31456.251075: => __schedule => schedule => futex_wait_queue_me => futex_wait => do_futex => __arm64_sys_futex => invoke_syscall => el0_svc_common => do_el0_svc => el0_svc => el0t_64_sync_handler => el0t_64_sync <…>-1585 ( 824) [007] … 31456.251076: mm_page_alloc: page=00000000227e60b6 pfn=0x12fb95 order=0 migratetype=0 gfp_flags=GFP_HIGHUSER|__GFP_ZERO <…>-1585 ( 824) [007] … 31456.251076: => kbase_native_mgm_alloc => kbase_mem_alloc_page => kbase_mem_pool_alloc_pages => kbase_mem_pool_alloc_pages => kbase_alloc_phy_pages_helper => kbase_mem_alloc => kbase_jit_allocate => kbase_jit_allocate_process => kbase_process_soft_job => jd_submit_atom => kbase_jd_submit => kbase_kfile_ioctl => kbase_ioctl => __arm64_sys_ioctl => invoke_syscall => el0_svc_common => do_el0_svc => el0_svc => el0t_64_sync_handler => el0t_64_sync mali-mem-purge-1565 ( 824) [000] d…2. 31456.251076: tracing_mark_write: C|9999|Cpu0_qs_info|999000 mali-mem-purge-1565 ( 824) [000] d…2. 31456.251077: => __schedule => schedule => futex_wait_queue_me => futex_wait => do_futex => __arm64_sys_futex => invoke_syscall => el0_svc_common => do_el0_svc => el0_svc => el0t_64_sync_handler => el0t_64_sync O_dfd_98-28933 ( 824) [003] d…2. 31456.251078: tracing_mark_write: C|9999|Cpu3_sched_info|800010101 <…>-1585 ( 824) [007] … 31456.251078: mm_page_alloc: page=000000006265d690 pfn=0x12fb9c order=0 migratetype=0 gfp_flags=GFP_HIGHUSER|__GFP_ZERO <…>-1585 ( 824) [007] … 31456.251078: => kbase_native_mgm_alloc => kbase_mem_alloc_page => kbase_mem_pool_alloc_pages => kbase_mem_pool_alloc_pages => kbase_alloc_phy_pages_helper => kbase_mem_alloc => kbase_jit_allocate => kbase_jit_allocate_process => kbase_process_soft_job => jd_submit_atom => kbase_jd_submit => kbase_kfile_ioctl => kbase_ioctl => __arm64_sys_ioctl => invoke_syscall => el0_svc_common => do_el0_svc => el0_svc => el0t_64_sync_handler => el0t_64_sync O_dfd_98-28933 ( 824) [003] d…2. 31456.251079: => __schedule => schedule => wait_on_page_bit_common => __get_node_page => f2fs_get_dnode_of_data => f2fs_map_blocks => f2fs_read_single_page => f2fs_mpage_readpages => f2fs_readahead => read_pages => page_cache_ra_unbounded => ondemand_readahead => page_cache_sync_ra => filemap_get_pages => filemap_read => f2fs_file_read_iter => vfs_read => __arm64_sys_pread64 => invoke_syscall => el0_svc_common => do_el0_svc => el0_svc => el0t_64_sync_handler => el0t_64_sync <…>-1585 ( 824) [007] … 31456.251080: mm_page_alloc: page=000000006ee8bf76 pfn=0x12fba4 order=0 migratetype=0 gfp_flags=GFP_HIGHUSER|__GFP_ZERO <…>-1585 ( 824) [007] … 31456.251081: => kbase_native_mgm_alloc => kbase_mem_alloc_page => kbase_mem_pool_alloc_pages => kbase_mem_pool_alloc_pages => kbase_alloc_phy_pages_helper => kbase_mem_alloc => kbase_jit_allocate => kbase_jit_allocate_process => kbase_process_soft_job => jd_submit_atom => kbase_jd_submit => kbase_kfile_ioctl => kbase_ioctl => __arm64_sys_ioctl => invoke_syscall => el0_svc_common => do_el0_svc => el0_svc => el0t_64_sync_handler => el0t_64_sync O_dfd_98-28933 ( 824) [003] d…2. 31456.251081: tracing_mark_write: C|9999|Cpu3_qs_info|999000 O_dfd_98-28933 ( 824) [003] d…2. 31456.251082: => __schedule => schedule => wait_on_page_bit_common => __get_node_page => f2fs_get_dnode_of_data => f2fs_map_blocks => f2fs_read_single_page => f2fs_mpage_readpages => f2fs_readahead => read_pages => page_cache_ra_unbounded => ondemand_readahead => page_cache_sync_ra => filemap_get_pages => filemap_read => f2fs_file_read_iter => vfs_read => __arm64_sys_pread64 => invoke_syscall => el0_svc_common => do_el0_svc => el0_svc => el0t_64_sync_handler => el0t_64_sync <…>-1585 ( 824) [007] … 31456.251083: mm_page_alloc: page=000000007e827cd8 pfn=0x12fbc1 order=0 migratetype=0 gfp_flags=GFP_HIGHUSER|__GFP_ZERO <…>-1585 ( 824) [007] … 31456.251083: => kbase_native_mgm_alloc => kbase_mem_alloc_page => kbase_mem_pool_alloc_pages => kbase_mem_pool_alloc_pages => kbase_alloc_phy_pages_helper => kbase_mem_alloc => kbase_jit_allocate => kbase_jit_allocate_process => kbase_process_soft_job => jd_submit_atom => kbase_jd_submit => kbase_kfile_ioctl => kbase_ioctl => __arm64_sys_ioctl => invoke_syscall => el0_svc_common => do_el0_svc => el0_svc => el0t_64_sync_handler => el0t_64_sync O_dfd_98-28933 ( 824) [003] d…2. 31456.251084: tracing_mark_write: C|9999|Cpu3_locking_state|0 -0 (-------) [004] dNh2. 31456.251084: sched_wakeup: comm=kswapd0 pid=92 prio=120 target_cpu=004 <…>-1585 ( 824) [007] … 31456.251085: mm_page_alloc: page=00000000a091210e pfn=0x139a26 order=0 migratetype=0 gfp_flags=GFP_HIGHUSER|__GFP_ZERO <…>-1585 ( 824) [007] … 31456.251085: => kbase_native_mgm_alloc => kbase_mem_alloc_page => kbase_mem_pool_alloc_pages => kbase_mem_pool_alloc_pages => kbase_alloc_phy_pages_helper => kbase_mem_alloc => kbase_jit_allocate => kbase_jit_allocate_process => kbase_process_soft_job => jd_submit_atom => kbase_jd_submit => kbase_kfile_ioctl => kbase_ioctl => __arm64_sys_ioctl => invoke_syscall => el0_svc_common => do_el0_svc => el0_svc => el0t_64_sync_handler => el0t_64_sync -0 (-------) [004] dNh2. 31456.251086: => ttwu_do_activate => sched_ttwu_pending => flush_smp_call_function_queue => do_handle_IPI => ipi_handler => handle_percpu_devid_irq => handle_domain_irq => gic_handle_irq.34504 => call_on_irq_stack => do_interrupt_handler => el1_interrupt => el1h_64_irq_handler => el1h_64_irq => cpuidle_enter_state => do_idle => cpu_startup_entry => secondary_start_kernel => __secondary_switched O_dfd_98-28933 ( 824) [003] d…2. 31456.251086: => __schedule => schedule => wait_on_page_bit_common => __get_node_page => f2fs_get_dnode_of_data => f2fs_map_blocks => f2fs_read_single_page => f2fs_mpage_readpages => f2fs_readahead => read_pages => page_cache_ra_unbounded => ondemand_readahead => page_cache_sync_ra => filemap_get_pages => filemap_read => f2fs_file_read_iter => vfs_read => __arm64_sys_pread64 => invoke_syscall => el0_svc_common => do_el0_svc => el0_svc => el0t_64_sync_handler => el0t_64_sync <…>-1585 ( 824) [007] … 31456.251087: mm_page_alloc: page=000000005cb495ea pfn=0x13855b order=0 migratetype=0 gfp_flags=GFP_HIGHUSER|__GFP_ZERO -0 (-------) [004] dNh1. 31456.251087: ipi_exit: (Function call interrupts) <…>-1585 ( 824) [007] … 31456.251087: => kbase_native_mgm_alloc => kbase_mem_alloc_page => kbase_mem_pool_alloc_pages => kbase_mem_pool_alloc_pages => kbase_alloc_phy_pages_helper => kbase_mem_alloc => kbase_jit_allocate => kbase_jit_allocate_process => kbase_process_soft_job => jd_submit_atom => kbase_jd_submit => kbase_kfile_ioctl => kbase_ioctl => __arm64_sys_ioctl => invoke_syscall => el0_svc_common => do_el0_svc => el0_svc => el0t_64_sync_handler => el0t_64_sync mali-mem-purge-1565 ( 824) [000] d…2. 31456.251088: sched_switch: prev_comm=mali-mem-purge prev_pid=1565 prev_prio=116 prev_state=S ==> next_comm=swapper/0 next_pid=0 next_prio=3001120 -0 (-------) [004] dNh1. 31456.251089: => do_handle_IPI => ipi_handler => handle_percpu_devid_irq => handle_domain_irq => gic_handle_irq.34504 => call_on_irq_stack => do_interrupt_handler => el1_interrupt => el1h_64_irq_handler => el1h_64_irq => cpuidle_enter_state => do_idle => cpu_startup_entry => secondary_start_kernel => __secondary_switched mali-mem-purge-1565 ( 824) [000] d…2. 31456.251089: => schedule => futex_wait_queue_me => futex_wait => do_futex => __arm64_sys_futex => invoke_syscall => el0_svc_common => do_el0_svc => el0_svc => el0t_64_sync_handler => el0t_64_sync <…>-1585 ( 824) [007] … 31456.251089: mm_page_alloc: page=00000000e48df992 pfn=0x1338bd order=0 migratetype=0 gfp_flags=GFP_HIGHUSER|__GFP_ZERO <…>-1585 ( 824) [007] … 31456.251090: => kbase_native_mgm_alloc => kbase_mem_alloc_page => kbase_mem_pool_alloc_pages => kbase_mem_pool_alloc_pages => kbase_alloc_phy_pages_helper => kbase_mem_alloc => kbase_jit_allocate => kbase_jit_allocate_process => kbase_process_soft_job => jd_submit_atom => kbase_jd_submit => kbase_kfile_ioctl => kbase_ioctl => __arm64_sys_ioctl => invoke_syscall => el0_svc_common => do_el0_svc => el0_svc => el0t_64_sync_handler => el0t_64_sync -0 (-------) [004] dNh1. 31456.251090: irq_handler_exit: irq=2 ret=handled -0 (-------) [004] dNh1. 31456.251091: => handle_domain_irq => gic_handle_irq.34504 => call_on_irq_stack => do_interrupt_handler => el1_interrupt => el1h_64_irq_handler => el1h_64_irq => cpuidle_enter_state => do_idle => cpu_startup_entry => secondary_start_kernel => __secondary_switched <…>-1585 ( 824) [007] … 31456.251092: mm_page_alloc: page=000000001b7c182e pfn=0x1012db order=0 migratetype=0 gfp_flags=GFP_HIGHUSER|__GFP_ZERO <…>-1585 ( 824) [007] … 31456.251092: => kbase_native_mgm_alloc => kbase_mem_alloc_page => kbase_mem_pool_alloc_pages => kbase_mem_pool_alloc_pages => kbase_alloc_phy_pages_helper => kbase_mem_alloc => kbase_jit_allocate => kbase_jit_allocate_process => kbase_process_soft_job => jd_submit_atom => kbase_jd_submit => kbase_kfile_ioctl => kbase_ioctl => __arm64_sys_ioctl => invoke_syscall => el0_svc_common => do_el0_svc => el0_svc => el0t_64_sync_handler => el0t_64_sync O_dfd_98-28933 ( 824) [003] d…2. 31456.251093: sched_switch: prev_comm=O_dfd_98 prev_pid=28933 prev_prio=120 prev_state=D ==> next_comm=kworker/3:1H next_pid=27163 next_prio=23301100 <…>-1585 ( 824) [007] … 31456.251094: mm_page_alloc: page=000000005b7f132c pfn=0x136c78 order=0 migratetype=0 gfp_flags=GFP_HIGHUSER|__GFP_ZERO O_dfd_98-28933 ( 824) [003] d…2. 31456.251095: => schedule => wait_on_page_bit_common => __get_node_page => f2fs_get_dnode_of_data => f2fs_map_blocks => f2fs_read_single_page => f2fs_mpage_readpages => f2fs_readahead => read_pages => page_cache_ra_unbounded => ondemand_readahead => page_cache_sync_ra => filemap_get_pages => filemap_read => f2fs_file_read_iter => vfs_read => __arm64_sys_pread64 => invoke_syscall => el0_svc_common => do_el0_svc => el0_svc => el0t_64_sync_handler => el0t_64_sync <…>-1585 ( 824) [007] … 31456.251095: => kbase_native_mgm_alloc => kbase_mem_alloc_page => kbase_mem_pool_alloc_pages => kbase_mem_pool_alloc_pages => kbase_alloc_phy_pages_helper => kbase_mem_alloc => kbase_jit_allocate => kbase_jit_allocate_process => kbase_process_soft_job => jd_submit_atom => kbase_jd_submit => kbase_kfile_ioctl => kbase_ioctl => __arm64_sys_ioctl => invoke_syscall => el0_svc_common => do_el0_svc => el0_svc => el0t_64_sync_handler => el0t_64_sync m.facebook.orca-14767 ( 14767) [002] … 31456.251096: mm_page_alloc: page=00000000b353d87d pfn=0x138db0 order=0 migratetype=1 gfp_flags=GFP_HIGHUSER_MOVABLE <…>-1585 ( 824) [007] … 31456.251097: mm_page_alloc: page=00000000e22ff9fd pfn=0x111ffd order=0 migratetype=0 gfp_flags=GFP_HIGHUSER|__GFP_ZERO <…>-1585 ( 824) [007] … 31456.251098: => kbase_native_mgm_alloc => kbase_mem_alloc_page => kbase_mem_pool_alloc_pages => kbase_mem_pool_alloc_pages => kbase_alloc_phy_pages_helper => kbase_mem_alloc => kbase_jit_allocate => kbase_jit_allocate_process => kbase_process_soft_job => jd_submit_atom => kbase_jd_submit => kbase_kfile_ioctl => kbase_ioctl => __arm64_sys_ioctl => invoke_syscall => el0_svc_common => do_el0_svc => el0_svc => el0t_64_sync_handler => el0t_64_sync m.facebook.orca-14767 ( 14767) [002] … 31456.251098: => wp_page_copy => do_wp_page => handle_pte_fault => __handle_mm_fault => do_handle_mm_fault => do_page_fault => do_mem_abort => el0_da => el0t_64_sync_handler => el0t_64_sync <…>-1585 ( 824) [007] … 31456.251099: mm_page_alloc: page=00000000701945f3 pfn=0x111d19 order=0 migratetype=0 gfp_flags=GFP_HIGHUSER|__GFP_ZERO <…>-1585 ( 824) [007] … 31456.251099: => kbase_native_mgm_alloc => kbase_mem_alloc_page => kbase_mem_pool_alloc_pages => kbase_mem_pool_alloc_pages => kbase_alloc_phy_pages_helper => kbase_mem_alloc => kbase_jit_allocate => kbase_jit_allocate_process => kbase_process_soft_job => jd_submit_atom => kbase_jd_submit => kbase_kfile_ioctl => kbase_ioctl => __arm64_sys_ioctl => invoke_syscall => el0_svc_common => do_el0_svc => el0_svc => el0t_64_sync_handler => el0t_64_sync <…>-1585 ( 824) [007] … 31456.251102: mm_page_alloc: page=00000000984a24df pfn=0x13799a order=0 migratetype=0 gfp_flags=GFP_HIGHUSER|__GFP_ZERO kworker/3:1H-27163 ( 27163) [003] … 31456.251102: workqueue_execute_start: work struct 0000000074d0337c: function blk_mq_run_work_fn.cfi_jt <…>-1585 ( 824) [007] … 31456.251102: => kbase_native_mgm_alloc => kbase_mem_alloc_page => kbase_mem_pool_alloc_pages => kbase_mem_pool_alloc_pages => kbase_alloc_phy_pages_helper => kbase_mem_alloc => kbase_jit_allocate => kbase_jit_allocate_process => kbase_process_soft_job => jd_submit_atom => kbase_jd_submit => kbase_kfile_ioctl => kbase_ioctl => __arm64_sys_ioctl => invoke_syscall => el0_svc_common => do_el0_svc => el0_svc => el0t_64_sync_handler => el0t_64_sync -0 (-------) [004] d…2. 31456.251102: tracing_mark_write: C|9999|Cpu4_sched_info|25500012001 kworker/3:1H-27163 ( 27163) [003] … 31456.251103: => worker_thread => kthread => ret_from_fork -0 (-------) [004] d…2. 31456.251103: => __schedule => do_idle => cpu_startup_entry => secondary_start_kernel => __secondary_switched <…>-1585 ( 824) [007] … 31456.251104: mm_page_alloc: page=0000000028310dcd pfn=0x1398fd order=0 migratetype=0 gfp_flags=GFP_HIGHUSER|__GFP_ZERO <…>-1585 ( 824) [007] … 31456.251104: => kbase_native_mgm_alloc => kbase_mem_alloc_page => kbase_mem_pool_alloc_pages => kbase_mem_pool_alloc_pages => kbase_alloc_phy_pages_helper => kbase_mem_alloc => kbase_jit_allocate => kbase_jit_allocate_process => kbase_process_soft_job => jd_submit_atom => kbase_jd_submit => kbase_kfile_ioctl => kbase_ioctl => __arm64_sys_ioctl => invoke_syscall => el0_svc_common => do_el0_svc => el0_svc => el0t_64_sync_handler => el0t_64_sync <…>-1585 ( 824) [007] … 31456.251106: mm_page_alloc: page=00000000673753e8 pfn=0x137f0d order=0 migratetype=0 gfp_flags=GFP_HIGHUSER|__GFP_ZERO <…>-1585 ( 824) [007] … 31456.251106: => kbase_native_mgm_alloc => kbase_mem_alloc_page => kbase_mem_pool_alloc_pages => kbase_mem_pool_alloc_pages => kbase_alloc_phy_pages_helper => kbase_mem_alloc => kbase_jit_allocate => kbase_jit_allocate_process => kbase_process_soft_job => jd_submit_atom => kbase_jd_submit => kbase_kfile_ioctl => kbase_ioctl => __arm64_sys_ioctl => invoke_syscall => el0_svc_common => do_el0_svc => el0_svc => el0t_64_sync_handler => el0t_64_sync -0 (-------) [004] d…2. 31456.251107: sched_switch: prev_comm=swapper/4 prev_pid=0 prev_prio=120 prev_state=R ==> next_comm=kswapd0 next_pid=92 next_prio=741501120 -0 (-------) [000] d…1. 31456.251108: cpu_idle: state=0 cpu_id=0 <…>-1585 ( 824) [007] … 31456.251108: mm_page_alloc: page=00000000b1c235dc pfn=0x1338cb order=0 migratetype=0 gfp_flags=GFP_HIGHUSER|__GFP_ZERO <…>-1585 ( 824) [007] … 31456.251108: => kbase_native_mgm_alloc => kbase_mem_alloc_page => kbase_mem_pool_alloc_pages => kbase_mem_pool_alloc_pages => kbase_alloc_phy_pages_helper => kbase_mem_alloc => kbase_jit_allocate => kbase_jit_allocate_process => kbase_process_soft_job => jd_submit_atom => kbase_jd_submit => kbase_kfile_ioctl => kbase_ioctl => __arm64_sys_ioctl => invoke_syscall => el0_svc_common => do_el0_svc => el0_svc => el0t_64_sync_handler => el0t_64_sync -0 (-------) [004] d…2. 31456.251109: => do_idle => cpu_startup_entry => secondary_start_kernel => __secondary_switched -0 (-------) [000] d…1. 31456.251109: => do_idle => cpu_startup_entry => kernel_init => start_kernel => start_kernel => __primary_switched <…>-1585 ( 824) [007] … 31456.251110: mm_page_alloc: page=000000002e69a9ef pfn=0x1119ee order=0 migratetype=0 gfp_flags=GFP_HIGHUSER|__GFP_ZERO <…>-1585 ( 824) [007] … 31456.251111: => kbase_native_mgm_alloc => kbase_mem_alloc_page => kbase_mem_pool_alloc_pages => kbase_mem_pool_alloc_pages => kbase_alloc_phy_pages_helper => kbase_mem_alloc => kbase_jit_allocate => kbase_jit_allocate_process => kbase_process_soft_job => jd_submit_atom => kbase_jd_submit => kbase_kfile_ioctl => kbase_ioctl => __arm64_sys_ioctl => invoke_syscall => el0_svc_common => do_el0_svc => el0_svc => el0t_64_sync_handler => el0t_64_sync <…>-1585 ( 824) [007] … 31456.251113: mm_page_alloc: page=00000000e9c44d97 pfn=0x135166 order=0 migratetype=0 gfp_flags=GFP_HIGHUSER|__GFP_ZERO <…>-1585 ( 824) [007] … 31456.251114: => kbase_native_mgm_alloc => kbase_mem_alloc_page => kbase_mem_pool_alloc_pages => kbase_mem_pool_alloc_pages => kbase_alloc_phy_pages_helper => kbase_mem_alloc => kbase_jit_allocate => kbase_jit_allocate_process => kbase_process_soft_job => jd_submit_atom => kbase_jd_submit => kbase_kfile_ioctl => kbase_ioctl => __arm64_sys_ioctl => invoke_syscall => el0_svc_common => do_el0_svc => el0_svc => el0t_64_sync_handler => el0t_64_sync <…>-1585 ( 824) [007] … 31456.251115: mm_page_alloc: page=00000000648f166c pfn=0x135fc6 order=0 migratetype=0 gfp_flags=GFP_HIGHUSER|__GFP_ZERO <…>-1585 ( 824) [007] … 31456.251116: => kbase_native_mgm_alloc => kbase_mem_alloc_page => kbase_mem_pool_alloc_pages => kbase_mem_pool_alloc_pages => kbase_alloc_phy_pages_helper => kbase_mem_alloc => kbase_jit_allocate => kbase_jit_allocate_process => kbase_process_soft_job => jd_submit_atom => kbase_jd_submit => kbase_kfile_ioctl => kbase_ioctl => __arm64_sys_ioctl => invoke_syscall => el0_svc_common => do_el0_svc => el0_svc => el0t_64_sync_handler => el0t_64_sync kswapd0-92 ( 92) [004] … 31456.251116: mm_vmscan_kswapd_wake: nid=0 order=0 从日志中看到kswapd是被谁唤醒的?
最新发布
09-06
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值