napi_schedule () не запускает опрос napi в обработчике обратного вызова hrtimer - PullRequest
0 голосов
/ 28 июня 2019

Я установил таймер ЧСС для данного интервала времени хх мс.Обработчик таймера работает достаточно хорошо.Но проблема, с которой я сталкиваюсь сейчас, состоит в том, чтобы вызывать опрос NAPI при каждом событии таймера.На истекшем интервале я назвал napi_schedule(napi).Это просто не запускает планирование опросов Napi napi_schedule() -> он должен вызывать мою функцию обратного вызова опросов NAPI, которая зарегистрирована в netif_napi_add(,,napi_poll, weight)

Регистрация опроса 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);

Iпроверил dmesg и kernel / var / log / kern-log ... Каждая функция получает вызов, только мой napi_poll обратный вызов не вызывается.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...