- 博客(9)
- 收藏
- 关注
原创 Linux_Kernel 源码注解 Sched_9
schedule -> dequeue_task -> sched_info_dequeuedstatic inline void sched_info_dequeued(struct rq *rq, struct task_struct *t){ unsigned long long now = rq_clock(rq), delta = 0; if (unlikely(sched_info_on()))sched_info_on 在CONFIG_SCHEDSTATS 与 CON
2020-06-02 22:02:57 156
原创 Linux_Kernel 源码注解 Sched_8
schedule -> __schedule -> update_rq_clock -> update_rq_clock_taskstatic void update_rq_clock_task(struct rq *rq, s64 delta){ s64 __maybe_unused steal = 0, irq_delta = 0;#ifdef CONFIG_IR...
2020-05-01 20:43:53 389
原创 Linux_Kernel 源码注解 Sched_7
schedule -> __schedule -> update_rq_clock -> sched_clock_cpu -> sched_clock_remotestatic u64 sched_clock_remote(struct sched_clock_data *scd){ struct sched_clock_data *my_scd = this_scd...
2020-04-28 22:11:11 399
原创 Linux_Kernel 源码注解 Sched_6
schedule -> __schedlue -> deactivate_task -> update_rq_clockvoid update_rq_clock(struct rq *rq){ s64 delta; lockdep_assert_held(&rq->lock); if (rq->clock_update_flags & R...
2020-04-27 15:02:09 600
原创 Linux_Kernel 源码注解 Sched_5
schedule -> __schedule -> deactivate_taskvoid deactivate_task(struct rq *rq, struct task_struct *p, int flags){ p->on_rq = (flags & DEQUEUE_SLEEP) ? 0 : TASK_ON_RQ_MIGRATING;判断prev是...
2020-04-26 21:59:33 307
原创 Linux_Kernel 源码注解 Sched_4
schedule -> __schedule -> schedule_debugstatic inline void schedule_debug(struct task_struct *prev){#ifdef CONFIG_SCHED_STACK_END_CHECK栈区检查还是别的?看后面的if (task_stack_end_corrupted(prev)) ...
2020-04-25 18:49:57 404
原创 Linux_Kernel 源码注解 Sched_3
schedule -> __schedulestatic void __sched notrace __schedule(bool preempt){ struct task_struct *prev, *next; unsigned long *switch_count; struct rq_flags rf; struct rq *rq; int cpu;cpu = s...
2020-04-24 21:52:32 434
原创 Linux_Kernel 源码注解 Sched_2
schedule -> sched_submit_workstatic inline void sched_submit_work(struct task_struct *tsk){ if (!tsk->state) return;当task为可运行时,函数返回if (tsk->flags & PF_WQ_WORKER) { 只有在此tas...
2020-04-23 19:01:09 380
原创 Linux_Kernel 源码注解 Sched_1
本系列是Linux Kernel_5.3.7 中Sched系统的源码分析,因本人属于初学者,错误误差纰漏必然极多,希望、欢迎大佬指正并提供建议。asmlinkage __visible void __sched schedule(void)/ asmlinkage在kernel 5.3.7中,如果定义了congfig_C++,asmlinkage就代表external “C”。不过这应该属...
2020-04-22 22:27:50 477
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人