Skip to the content.

sched

关于调度器中的基本内容:

  1. 进程的生命周期
  2. fork
  3. exit
  4. exec
  5. scheduler
  6. context switch
  7. cfs 1. load_avg 2. task group 3. bandwidth 4. load balance 5. numa balance 6. autogroup
  8. preempt
  9. 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 将按侵权追究法律责任,其它情况随意。