我设置了一个HR计时器
给定的xx ms时间间隔。计时器滴答处理程序工作正常。
但是我现在面临的问题是每次调用NAPI民意调查
计时器滴答处理程序事件。在间隔过去的事件中,我打电话给
napi_schedule(napi)
。这根本不会触发napi民意调查
安排napi_schedule()
->应该会调用我在netif_napi_add(,,napi_poll, weight)
中注册的NAPI poll回调函数
注册NAPI民意调查:
netif_napi_add(netdev, &port->napi, napi_poll,2);
static enum hrtimer_restart gmac_delay_expired(struct hrtimer *timer) {
struct gemini_ethernet_port *port =
container_of(timer, struct gemini_ethernet_port,rx_coalesce_timer);
napi_schedule(&port->napi);
hrtimer_forward_now(timer, 100);
return HRTIMER_RESTART;
}
hrtimer_init(&port->timer,LOCK_MONOTONIC,HRTIMER_MODE_REL);
port->timer.function = &gmac_delay_expired;
hrtimer_start(&port->timer,port->timer_interval,HRTIMER_MODE_REL);
我检查了dmesg和内核/ var / log / kern-log ...每个函数都在被调用,只有我的napi_poll
回调没有被调用。