sched
关于调度器中的基本内容:
- 进程的生命周期
- fork
- exit
- exec
- scheduler
- context switch
- cfs 1. load_avg 2. task group 3. bandwidth 4. load balance 5. numa balance 6. autogroup
- preempt
- signal
https://www.kernel.org/doc/html/latest/scheduler/index.html
Classless Queuing Disciplines (qdiscs) https://tldp.org/en/Traffic-Control-HOWTO/ar01s06.html 的翻译
里面介绍了各种队列的使用方法理论配置:
code
struct Qdisc_ops pfifo_fast_ops __read_mostly = {
.id = "pfifo_fast",
.priv_size = sizeof(struct pfifo_fast_priv),
.enqueue = pfifo_fast_enqueue,
.dequeue = pfifo_fast_dequeue,
.peek = pfifo_fast_peek,
.init = pfifo_fast_init,
.destroy = pfifo_fast_destroy,
.reset = pfifo_fast_reset,
.dump = pfifo_fast_dump,
.change_tx_queue_len = pfifo_fast_change_tx_queue_len,
.owner = THIS_MODULE,
.static_flags = TCQ_F_NOLOCK | TCQ_F_CPUSTATS,
};
对应的调用者在 /home/maritns3/core/linux/net/core/dev.c 中间,感觉应该就是在发送给 NIC 的时候如果数据太多了就丢掉一下.
本站所有文章转发 CSDN 将按侵权追究法律责任,其它情况随意。