Lines Matching defs:napi
135 struct napi_struct napi;
143 struct napi_struct napi;
342 static void virtqueue_napi_schedule(struct napi_struct *napi,
345 if (napi_schedule_prep(napi)) {
347 __napi_schedule(napi);
351 static void virtqueue_napi_complete(struct napi_struct *napi,
357 if (napi_complete_done(napi, processed)) {
359 virtqueue_napi_schedule(napi, vq);
368 struct napi_struct *napi = &vi->sq[vq2txq(vq)].napi;
373 if (napi->weight)
374 virtqueue_napi_schedule(napi, vq);
412 skb = napi_alloc_skb(&rq->napi, GOOD_COPY_LEN);
1157 napi_gro_receive(&rq->napi, skb);
1345 virtqueue_napi_schedule(&rq->napi, rvq);
1348 static void virtnet_napi_enable(struct virtqueue *vq, struct napi_struct *napi)
1350 napi_enable(napi);
1357 virtqueue_napi_schedule(napi, vq);
1363 struct napi_struct *napi)
1365 if (!napi->weight)
1368 /* Tx napi touches cachelines on the cpu handling tx interrupts. Only
1372 napi->weight = 0;
1376 return virtnet_napi_enable(vq, napi);
1379 static void virtnet_napi_tx_disable(struct napi_struct *napi)
1381 if (napi->weight)
1382 napi_disable(napi);
1395 napi_disable(&rq->napi);
1397 virtnet_napi_enable(rq->vq, &rq->napi);
1507 if (!sq->napi.weight || is_xdp_raw_buffer_queue(vi, index))
1519 static int virtnet_poll(struct napi_struct *napi, int budget)
1522 container_of(napi, struct receive_queue, napi);
1537 virtqueue_napi_complete(napi, rq->vq, received);
1576 virtnet_napi_enable(vi->rq[i].vq, &vi->rq[i].napi);
1577 virtnet_napi_tx_enable(vi, vi->sq[i].vq, &vi->sq[i].napi);
1583 static int virtnet_poll_tx(struct napi_struct *napi, int budget)
1585 struct send_queue *sq = container_of(napi, struct send_queue, napi);
1594 napi_complete_done(napi, 0);
1605 done = napi_complete_done(napi, 0);
1614 if (napi_schedule_prep(napi)) {
1618 __napi_schedule(napi);
1684 bool use_napi = sq->napi.weight;
1931 /* Make sure refill_work doesn't re-enable napi! */
1935 napi_disable(&vi->rq[i].napi);
1937 virtnet_napi_tx_disable(&vi->sq[i].napi);
2330 if (napi_weight ^ vi->sq[0].napi.weight) {
2334 vi->sq[i].napi.weight = napi_weight;
2351 if (vi->sq[0].napi.weight)
2529 napi_disable(&vi->rq[i].napi);
2530 virtnet_napi_tx_disable(&vi->sq[i].napi);
2564 virtnet_napi_enable(vi->rq[i].vq, &vi->rq[i].napi);
2566 &vi->sq[i].napi);
2581 virtnet_napi_enable(vi->rq[i].vq, &vi->rq[i].napi);
2583 &vi->sq[i].napi);
2705 __netif_napi_del(&vi->rq[i].napi);
2706 __netif_napi_del(&vi->sq[i].napi);
2920 netif_napi_add(vi->dev, &vi->rq[i].napi, virtnet_poll,
2922 netif_tx_napi_add(vi->dev, &vi->sq[i].napi, virtnet_poll_tx,