rx-usecs: 1 rx-frames: 0 rx-usecs-irq: 0 rx-frames-irq: 0 ... 我们来说一下上述结果的大致含义 Adaptive RX: 自适应中断合并,网卡驱动自己判断啥收该合并啥时候不合并 rx-usecs: 当过这么长时间过后,一个RX interrupt就会被产生 rx-frames:当累计接收到这么多个帧后,一个RX interrupt就会被产生 如果...
int dev_tx_weight __read_mostly = 64; /* Called with irq disabled */ static inline void ___napi_schedule(struct softnet_data *sd, struct napi_struct *napi) { struct task_struct *thread; lockdep_assert_irqs_disabled(); if (test_bit(NAPI_STATE_THREADED, &napi->state)) { /* Paired...
tx-usecs-irq: 0 tx-frames-irq: 0 rx-usecs-low: 0 rx-frame-low: 0 tx-usecs-low: 0 tx-frame-low: 0 rx-usecs-high: 0 rx-frame-high: 0 tx-usecs-high: 0 tx-frame-high: 0 # ethtool --driver enp7s0f0 driver: igb version: 5.4.0-k firmware-version: 1.63, 0x800009fb, 1.924...
local_irq_enable(); disable irq暂停新NAPI实例加入到backlog中, 并吧backlog中的数据加入到list中,以方便下面代码遍历list 回到主线, 我们看到是一个无限循环来处理list, 终止条件2个 list 为空 时钟过期 budget耗尽 时钟过期条件是 jiffies + usecs_to_jiffies(netdev_budget_usecs) netdev_budget_usecs = 2...