我正在尝试一些处理 sk_buff 的队列创建的东西,因为它们从 ip_output.c 的例程传递到 /net/core/dev.c 中的 dev_queue_xmit()。 使用 sk_buff_head 来进行队列管理,并使用 timer_list 来控制 skb 从我的例程传递到 dev_queue_xmit() 的速率。 代码能够控制 skb 传递到 dev_queue_xmit() 的速率,但似乎有一些 bug。 我遇到的错误信息是 "killing of interrupt handlers" (中断处理程序的终止) 和 "kfree-ing of memory allocated not using kalloc" (释放未使用 kalloc 分配的内存) (当我尝试对队列大小设置上限时)。 如果有人能给我一些关于可能存在的 bug 的线索,那就太好了。 谢谢。
|