netbsd

NetBSDのスケジューラを読んでみるめも6

〆(.. )カリカリッ!! 遂に6回目! sched_lwp_fork()とsched_lwp_collect()です。これでsched_4bsd.cで実装している関数は終わります( ´∀`)bグッ!まずはsched_lwp_fork()です。 460 void 461 sched_lwp_fork(struct lwp *l1, struct lwp *l2) 462 { 463 464 l2->l…

NetBSDのスケジューラを読んでみるめも5

〆(.. )カリカリッ!! sched_proc_fork()とsched_proc_exit()sched_proc_fork()は特にこれといった処理はないですね。 405 * sched_proc_fork: 406 * 407 * Inherit the parent's scheduler history. 408 */ 409 void 410 sched_proc_fork(struct proc *parent, st…

NetBSDのスケジューラを読んでみるめも4

〆(.. )カリカリッ!! sched_schedclock()です。関数本体よりもコメントの方が多いですね。 376 /* 377 * We adjust the priority of the current LWP. The priority of a LWP 378 * gets worse as it accumulates CPU time. The CPU usage estimator (l_estcpu) 3…

NetBSDのスケジューラを読んでみるめも3

φ(.. )メモシテオコウ このシリーズ3回目はsched_setrunnable()とsched_nice()を見てみます。まずはsched_setrunnable()から。 331 void 332 sched_setrunnable(struct lwp *l) 333 { 334 335 if (l->l_slptime > 1) 336 updatepri(l); 337 } 内容としては「(´-`)…

NetBSDのスケジューラを読んでみるめも2

φ(^∇^ ) メモナノラ まずはsched_pstats_hook()から。コメントからこの関数はsched_pstats()から定期的に呼ばれてプライオリティを再計算するとなってますね。 281 /* 282 * sched_pstats_hook: 283 * 284 * Periodically called from sched_pstats(); used to re…

NetBSDのスケジューラを読んでみるめも1

(´-`).。oO(なんとなくNetBSDのスケジューラを読んでみようと思ったので 見ているのはsched_4bsd.cですが、これはBSDカーネルの設計と実装の4.4.1で説明されている4.4BSDのスケジューラと基本的な考え方は変わってないよなーという想いもありこれにしてます…