Linux kernel中任务、CPU相关的结构体介绍,及__schedule()的调度过程(单队列任务调度、跨队列任务调度) 本文介绍了__schedule(0的调度过程。首先,文章介绍了task_struct、rq、sched_entity等结构体的内容,并介绍了任务、队列以及CPU三者间的关系。在此基础上,文章介绍了__schedule()的单队列任务调度和跨队列任务调度过程,并且着重介绍了实时任务类ER的任务调度过程。
以isolcpus=参数为例,介绍Linux kernel中command-line(cmdline)的读写、解析、生效过程 以isolcpus=参数为例,介绍Linux kernel中command-line(cmdline)的读写、解析、生效过程。这篇文章介绍了isolcpus参数的作用,键值对格式;以及介绍了start_kernel(),System.map中映像中__setup段和__param段参数,以及一系列与isolcpus相关的函数
介绍ftrace机制中trace_##name调用实现的过程——以trace_sched_waking为例 这篇文章的目的是介绍Linux kernel中的ftrace机制初始化trace_event类的过程,以及声明和定义trace_event类的相关函数的过程。
idle thread向其他任务线程的上下文切换过程 主要介绍在Linux kernel中,idle thread向其他任务线程切换的过程,同时强调了编译选项CONFIG_GENERIC_IDLE_POLL_SETUP和grub选项nohlt对idle thread表现的影响
idle thread状态、编译选项CONFIG_CPU_IDLE 介绍在arm64架构中wfi、hlt和nop这三种汇编指令的区别,介绍了CONFIG_CPU_IDLE编译选项对选择idle state的影响。
idle thread是什么线程及其初始化过程 若运行do_idle()函数过程中,没有其他任务线程切入,则idle thread运行cpuidle_idle_call(),准备运行idle state状态的内容。init_idle的参数current数据类型是struct task_struct*,在这里具体内容是执行当前线程的struct task_struct结构体的指针,由于执行初始化过程的即为0号线程idle thread,实际上这里的current即为表达idle thread的task_struct结构体的指针。idle thread是。