| /linux/net/core/ |
| H A D | gro_cells.c | 10 struct napi_struct napi; member 44 napi_schedule(&cell->napi); in gro_cells_receive() 57 static int gro_cell_poll(struct napi_struct *napi, int budget) in gro_cell_poll() argument 59 struct gro_cell *cell = container_of(napi, struct gro_cell, napi); in gro_cell_poll() 69 napi_gro_receive(napi, skb); in gro_cell_poll() 74 napi_complete_done(napi, work_done); in gro_cell_poll() 92 set_bit(NAPI_STATE_NO_BUSY_POLL, &cell->napi.state); in gro_cells_init() 94 netif_napi_add(dev, &cell->napi, gro_cell_poll); in gro_cells_init() 95 napi_enable(&cell->napi); in gro_cells_init() 125 napi_disable(&cell->napi); in gro_cells_destroy() [all …]
|
| H A D | netdev-genl.c | 162 netdev_nl_napi_fill_one(struct sk_buff *rsp, struct napi_struct *napi, in netdev_nl_napi_fill_one() argument 171 if (!napi->dev->up) in netdev_nl_napi_fill_one() 178 if (nla_put_u32(rsp, NETDEV_A_NAPI_ID, napi->napi_id)) in netdev_nl_napi_fill_one() 181 if (nla_put_u32(rsp, NETDEV_A_NAPI_IFINDEX, napi->dev->ifindex)) in netdev_nl_napi_fill_one() 184 if (napi->irq >= 0 && nla_put_u32(rsp, NETDEV_A_NAPI_IRQ, napi->irq)) in netdev_nl_napi_fill_one() 188 napi_get_threaded(napi))) in netdev_nl_napi_fill_one() 191 if (napi->thread) { in netdev_nl_napi_fill_one() 192 pid = task_pid_nr(napi->thread); in netdev_nl_napi_fill_one() 197 napi_defer_hard_irqs = napi_get_defer_hard_irqs(napi); in netdev_nl_napi_fill_one() 202 irq_suspend_timeout = napi_get_irq_suspend_timeout(napi); in netdev_nl_napi_fill_one() [all …]
|
| H A D | dev.h | 240 struct napi_struct *napi; in netdev_set_defer_hard_irqs() local 244 list_for_each_entry(napi, &netdev->napi_list, dev_list) in netdev_set_defer_hard_irqs() 245 napi_set_defer_hard_irqs(napi, defer); in netdev_set_defer_hard_irqs() 286 struct napi_struct *napi; in netdev_set_gro_flush_timeout() local 290 list_for_each_entry(napi, &netdev->napi_list, dev_list) in netdev_set_gro_flush_timeout() 291 napi_set_gro_flush_timeout(napi, timeout); in netdev_set_gro_flush_timeout() 350 void xdp_do_check_flushed(struct napi_struct *napi); 352 static inline void xdp_do_check_flushed(struct napi_struct *napi) { } in xdp_do_check_flushed() argument 356 static inline void napi_assert_will_not_race(const struct napi_struct *napi) in napi_assert_will_not_race() argument 359 if (!napi->poll_list.next) in napi_assert_will_not_race() [all …]
|
| H A D | dev.c | 136 #include <trace/events/napi.h> 797 struct napi_struct *napi; in napi_by_id() local 799 hlist_for_each_entry_rcu(napi, &napi_hash[hash], napi_hash_node) in napi_by_id() 800 if (napi->napi_id == napi_id) in napi_by_id() 801 return napi; in napi_by_id() 810 struct napi_struct *napi; in netdev_napi_by_id() local 812 napi = napi_by_id(napi_id); in netdev_napi_by_id() 813 if (!napi) in netdev_napi_by_id() 816 if (WARN_ON_ONCE(!napi->dev)) in netdev_napi_by_id() 818 if (!net_eq(net, dev_net(napi in netdev_napi_by_id() 838 struct napi_struct *napi; netdev_napi_by_id_lock() local 1043 struct napi_struct *napi; dev_get_by_napi_id() local 4938 ____napi_schedule(struct softnet_data * sd,struct napi_struct * napi) ____napi_schedule() argument 6618 process_backlog(struct napi_struct * napi,int quota) process_backlog() argument 6839 __busy_poll_stop(struct napi_struct * napi,bool skip_schedule) __busy_poll_stop() argument 6858 busy_poll_stop(struct napi_struct * napi,void * have_poll_lock,unsigned flags,u16 budget) busy_poll_stop() argument 6914 struct napi_struct *napi; __napi_busy_loop() local 7016 struct napi_struct *napi; napi_suspend_irqs() local 7032 struct napi_struct *napi; napi_resume_irqs() local 7053 __napi_hash_add_with_id(struct napi_struct * napi,unsigned int napi_id) __napi_hash_add_with_id() argument 7063 napi_hash_add_with_id(struct napi_struct * napi,unsigned int napi_id) napi_hash_add_with_id() argument 7074 napi_hash_add(struct napi_struct * napi) napi_hash_add() argument 7097 napi_hash_del(struct napi_struct * napi) napi_hash_del() argument 7110 struct napi_struct *napi; napi_watchdog() local 7126 napi_stop_kthread(struct napi_struct * napi) napi_stop_kthread() argument 7164 napi_set_threaded_state(struct napi_struct * napi,enum netdev_napi_threaded threaded_mode) napi_set_threaded_state() argument 7174 napi_set_threaded(struct napi_struct * napi,enum netdev_napi_threaded threaded) napi_set_threaded() argument 7209 struct napi_struct *napi; netif_set_threaded() local 7268 netif_queue_set_napi(struct net_device * dev,unsigned int queue_index,enum netdev_queue_type type,struct napi_struct * napi) netif_queue_set_napi() argument 7296 struct napi_struct *napi = netif_napi_irq_notify() local 7319 struct napi_struct *napi = netif_napi_affinity_release() local 7392 netif_napi_set_irq_locked(struct napi_struct * napi,int irq) netif_napi_set_irq_locked() argument 7486 netif_napi_dev_list_add(struct net_device * dev,struct napi_struct * napi) netif_napi_dev_list_add() argument 7518 napi_get_frags_check(struct napi_struct * napi) napi_get_frags_check() argument 7530 netif_napi_add_weight_locked(struct net_device * dev,struct napi_struct * napi,int (* poll)(struct napi_struct *,int),int weight) netif_napi_add_weight_locked() argument 7660 __netif_napi_del_locked(struct napi_struct * napi) __netif_napi_del_locked() argument 7782 napi_thread_wait(struct napi_struct * napi) napi_thread_wait() argument 7806 napi_threaded_poll_loop(struct napi_struct * napi,unsigned long * busy_poll_last_qs) napi_threaded_poll_loop() argument 7860 struct napi_struct *napi = data; napi_threaded_poll() local 12727 struct napi_struct *napi = list_first_entry(&oldsd->poll_list, dev_cpu_dead() local 13183 struct napi_struct *napi = &sd->backlog; backlog_napi_should_run() local 13198 struct napi_struct *napi = &sd->backlog; backlog_napi_setup() local [all...] |
| H A D | gro.c | 640 static void napi_reuse_skb(struct napi_struct *napi, struct sk_buff *skb) in napi_reuse_skb() argument 652 skb->dev = napi->dev; in napi_reuse_skb() 673 napi->skb = skb; in napi_reuse_skb() 676 struct sk_buff *napi_get_frags(struct napi_struct *napi) in napi_get_frags() argument 678 struct sk_buff *skb = napi->skb; in napi_get_frags() 681 skb = napi_alloc_skb(napi, GRO_MAX_HEAD); in napi_get_frags() 683 napi->skb = skb; in napi_get_frags() 684 skb_mark_napi_id(skb, napi); in napi_get_frags() 691 static gro_result_t napi_frags_finish(struct napi_struct *napi, in napi_frags_finish() argument 701 gro_normal_one(&napi->gro, skb, 1); in napi_frags_finish() [all …]
|
| /linux/tools/testing/selftests/drivers/net/ |
| H A D | napi_threaded.py | 15 napi = nl.napi_get({'id': napi_id}) 16 ksft_eq(napi['threaded'], 'enabled') 17 ksft_ne(napi.get('pid'), None) 21 napi = nl.napi_get({'id': napi_id}) 22 ksft_eq(napi['threaded'], 'disabled') 23 ksft_eq(napi.get('pid'), None) 56 for napi in napis: 57 ksft_eq(napi['threaded'], 'disabled') 58 ksft_eq(napi.get('pid'), None) 65 for napi in napis: [all …]
|
| /linux/drivers/net/ethernet/intel/igc/ |
| H A D | igc_xdp.c | 32 napi_disable(&adapter->rx_ring[i]->q_vector->napi); in igc_xdp_set_prog() 47 napi_enable(&adapter->rx_ring[i]->q_vector->napi); in igc_xdp_set_prog() 62 struct napi_struct *napi; in igc_xdp_enable_pool() local 92 napi = &rx_ring->q_vector->napi; in igc_xdp_enable_pool() 97 napi_disable(napi); in igc_xdp_enable_pool() 104 napi_enable(napi); in igc_xdp_enable_pool() 122 struct napi_struct *napi; in igc_xdp_disable_pool() local 138 napi = &rx_ring->q_vector->napi; in igc_xdp_disable_pool() 143 napi_disable(napi); in igc_xdp_disable_pool() 151 napi_enable(napi); in igc_xdp_disable_pool()
|
| /linux/include/trace/events/ |
| H A D | napi.h | 3 #define TRACE_SYSTEM napi 16 TP_PROTO(struct napi_struct *napi, int work, int budget), 18 TP_ARGS(napi, work, budget), 21 __field( struct napi_struct *, napi) 22 __string( dev_name, napi->dev ? napi->dev->name : NO_DEV) 28 __entry->napi = napi; 35 __entry->napi, __get_str(dev_name),
|
| /linux/io_uring/ |
| H A D | napi.c | 267 struct io_uring_napi *napi) in io_napi_register_napi() argument 269 switch (napi->op_param) { in io_napi_register_napi() 278 WRITE_ONCE(ctx->napi_track_mode, napi->op_param); in io_napi_register_napi() 279 WRITE_ONCE(ctx->napi_busy_poll_dt, napi->busy_poll_to * NSEC_PER_USEC); in io_napi_register_napi() 280 WRITE_ONCE(ctx->napi_prefer_busy_poll, !!napi->prefer_busy_poll); in io_napi_register_napi() 298 struct io_uring_napi napi; in io_register_napi() local 302 if (copy_from_user(&napi, arg, sizeof(napi))) in io_register_napi() 304 if (napi.pad[0] || napi.pad[1] || napi.resv) in io_register_napi() 310 switch (napi.opcode) { in io_register_napi() 312 return io_napi_register_napi(ctx, &napi); in io_register_napi() [all …]
|
| /linux/include/linux/ |
| H A D | netpoll.h | 79 static inline void *netpoll_poll_lock(struct napi_struct *napi) in netpoll_poll_lock() argument 81 struct net_device *dev = napi->dev; in netpoll_poll_lock() 86 while (cmpxchg(&napi->poll_owner, -1, owner) != -1) in netpoll_poll_lock() 89 return napi; in netpoll_poll_lock() 96 struct napi_struct *napi = have; in netpoll_poll_unlock() local 98 if (napi) in netpoll_poll_unlock() 99 smp_store_release(&napi->poll_owner, -1); in netpoll_poll_unlock() 108 static inline void *netpoll_poll_lock(struct napi_struct *napi) in netpoll_poll_lock() argument
|
| /linux/drivers/net/ethernet/ |
| H A D | lantiq_xrx200.c | 64 struct napi_struct napi; member 151 napi_enable(&priv->chan_tx.napi); in xrx200_open() 155 napi_enable(&priv->chan_rx.napi); in xrx200_open() 178 napi_disable(&priv->chan_rx.napi); in xrx200_close() 181 napi_disable(&priv->chan_tx.napi); in xrx200_close() 283 static int xrx200_poll_rx(struct napi_struct *napi, int budget) in xrx200_poll_rx() argument 285 struct xrx200_chan *ch = container_of(napi, in xrx200_poll_rx() 286 struct xrx200_chan, napi); in xrx200_poll_rx() 306 if (napi_complete_done(&ch->napi, rx)) in xrx200_poll_rx() 313 static int xrx200_tx_housekeeping(struct napi_struct *napi, int budget) in xrx200_tx_housekeeping() argument [all …]
|
| /linux/drivers/net/ethernet/aquantia/atlantic/ |
| H A D | aq_vec.c | 21 struct napi_struct napi; member 28 static int aq_vec_poll(struct napi_struct *napi, int budget) in aq_vec_poll() argument 30 struct aq_vec_s *self = container_of(napi, struct aq_vec_s, napi); in aq_vec_poll() 68 napi, in aq_vec_poll() 93 napi_complete_done(napi, work_done); in aq_vec_poll() 122 netif_napi_add(aq_nic_get_ndev(aq_nic), &self->napi, aq_vec_poll); in aq_vec_alloc() 151 self->napi.napi_id) < 0) { in aq_vec_ring_alloc() 245 napi_enable(&self->napi); in aq_vec_start() 265 napi_disable(&self->napi); in aq_vec_stop() 290 netif_napi_del(&self->napi); in aq_vec_free() [all …]
|
| /linux/drivers/net/ethernet/synopsys/ |
| H A D | dwc-xlgmac-net.c | 290 if (napi_schedule_prep(&pdata->napi)) { in xlgmac_isr() 296 __napi_schedule_irqoff(&pdata->napi); in xlgmac_isr() 350 if (napi_schedule_prep(&channel->napi)) { in xlgmac_dma_isr() 355 __napi_schedule_irqoff(&channel->napi); in xlgmac_dma_isr() 366 struct napi_struct *napi; in xlgmac_tx_timer() local 368 napi = (pdata->per_channel_irq) ? &channel->napi : &pdata->napi; in xlgmac_tx_timer() 370 if (napi_schedule_prep(napi)) { in xlgmac_tx_timer() 379 __napi_schedule(napi); in xlgmac_tx_timer() 422 netif_napi_add(pdata->netdev, &channel->napi, in xlgmac_napi_enable() 425 napi_enable(&channel->napi); in xlgmac_napi_enable() [all …]
|
| /linux/drivers/infiniband/hw/hfi1/ |
| H A D | ipoib_rx.c | 22 static struct sk_buff *prepare_frag_skb(struct napi_struct *napi, int size) in prepare_frag_skb() argument 33 return napi_alloc_skb(napi, size); in prepare_frag_skb() 49 struct napi_struct *napi = &rxq->napi; in hfi1_ipoib_prepare_skb() local 58 skb = napi_alloc_skb(napi, skb_size); in hfi1_ipoib_prepare_skb() 60 skb = prepare_frag_skb(napi, skb_size); in hfi1_ipoib_prepare_skb()
|
| /linux/drivers/net/netdevsim/ |
| H A D | netdev.c | 48 idx = rq->napi.index; in nsim_start_peer_tx_queue() 415 struct net_device *dev = rq->napi.dev; in nsim_rcv() 446 napi_gro_receive(&rq->napi, skb); in nsim_rcv() 453 static int nsim_poll(struct napi_struct *napi, int budget) in nsim_poll() argument 455 struct nsim_rq *rq = container_of(napi, struct nsim_rq, napi); in nsim_poll() 460 napi_complete_done(napi, done); in nsim_poll() 465 static int nsim_create_page_pool(struct page_pool **p, struct napi_struct *napi) in nsim_create_page_pool() argument 471 .dev = &napi->dev->dev, in nsim_create_page_pool() 472 .napi = napi, in nsim_create_page_pool() 474 .netdev = napi->dev, in nsim_create_page_pool() [all …]
|
| /linux/drivers/net/ethernet/google/gve/ |
| H A D | gve_utils.c | 67 struct sk_buff *gve_rx_copy_data(struct net_device *dev, struct napi_struct *napi, in gve_rx_copy_data() argument 72 skb = napi_alloc_skb(napi, len); in gve_rx_copy_data() 83 struct sk_buff *gve_rx_copy(struct net_device *dev, struct napi_struct *napi, in gve_rx_copy() argument 89 return gve_rx_copy_data(dev, napi, va, len); in gve_rx_copy() 113 netif_napi_add_locked(priv->dev, &block->napi, gve_poll); in gve_add_napi() 114 netif_napi_set_irq_locked(&block->napi, block->irq); in gve_add_napi() 123 netif_napi_del_locked(&block->napi); in gve_remove_napi()
|
| /linux/drivers/net/ethernet/mellanox/mlx4/ |
| H A D | en_cq.c | 152 netif_napi_add_tx(cq->dev, &cq->napi, mlx4_en_poll_tx_cq); in mlx4_en_activate_cq() 153 netif_napi_set_irq(&cq->napi, irq); in mlx4_en_activate_cq() 154 napi_enable(&cq->napi); in mlx4_en_activate_cq() 155 netif_queue_set_napi(cq->dev, cq_idx, NETDEV_QUEUE_TYPE_TX, &cq->napi); in mlx4_en_activate_cq() 159 netif_napi_add_config(cq->dev, &cq->napi, mlx4_en_poll_rx_cq, in mlx4_en_activate_cq() 161 netif_napi_set_irq(&cq->napi, irq); in mlx4_en_activate_cq() 162 napi_enable(&cq->napi); in mlx4_en_activate_cq() 163 netif_queue_set_napi(cq->dev, cq_idx, NETDEV_QUEUE_TYPE_RX, &cq->napi); in mlx4_en_activate_cq() 207 napi_disable(&cq->napi); in mlx4_en_deactivate_cq() 208 netif_napi_del(&cq->napi); in mlx4_en_deactivate_cq()
|
| /linux/drivers/net/ethernet/mellanox/mlx5/core/en/ |
| H A D | trap.c | 8 static int mlx5e_trap_napi_poll(struct napi_struct *napi, int budget) in mlx5e_trap_napi_poll() argument 10 struct mlx5e_trap *trap_ctx = container_of(napi, struct mlx5e_trap, napi); in mlx5e_trap_napi_poll() 29 if (unlikely(!napi_complete_done(napi, work_done))) in mlx5e_trap_napi_poll() 77 ccp.napi = &t->napi; in mlx5e_open_trap_rq() 152 netif_napi_add_locked(netdev, &t->napi, mlx5e_trap_napi_poll); in mlx5e_open_trap() 167 netif_napi_del_locked(&t->napi); in mlx5e_open_trap() 176 netif_napi_del_locked(&trap->napi); in mlx5e_close_trap() 182 napi_enable_locked(&trap->napi); in mlx5e_activate_trap() 184 mlx5e_trigger_napi_sched(&trap->napi); in mlx5e_activate_trap() 192 napi_disable_locked(&trap->napi); in mlx5e_deactivate_trap()
|
| /linux/drivers/net/ethernet/huawei/hinic3/ |
| H A D | hinic3_irq.c | 31 static int hinic3_poll(struct napi_struct *napi, int budget) in hinic3_poll() argument 34 container_of(napi, struct hinic3_irq_cfg, napi); in hinic3_poll() 52 if (likely(napi_complete_done(napi, work_done))) { in hinic3_poll() 65 netif_napi_add(nic_dev->netdev, &irq_cfg->napi, hinic3_poll); in qp_add_napi() 66 napi_enable(&irq_cfg->napi); in qp_add_napi() 71 napi_disable(&irq_cfg->napi); in qp_del_napi() 72 netif_napi_del(&irq_cfg->napi); in qp_del_napi() 86 napi_schedule(&irq_cfg->napi); in qp_irq() 235 NETDEV_QUEUE_TYPE_RX, &irq_cfg->napi); in hinic3_qps_irq_init() 237 NETDEV_QUEUE_TYPE_TX, &irq_cfg->napi); in hinic3_qps_irq_init()
|
| /linux/drivers/net/wireless/ath/ath12k/wifi7/ |
| H A D | dp.c | 23 struct napi_struct *napi = &irq_grp->napi; in ath12k_wifi7_dp_service_srng() local 37 work_done = ath12k_wifi7_dp_rx_process_err(dp, napi, budget); in ath12k_wifi7_dp_service_srng() 45 work_done = ath12k_wifi7_dp_rx_process_wbm_err(dp, napi, budget); in ath12k_wifi7_dp_service_srng() 55 work_done = ath12k_wifi7_dp_rx_process(dp, i, napi, budget); in ath12k_wifi7_dp_service_srng() 70 ath12k_wifi7_dp_mon_process_ring(dp, id, napi, in ath12k_wifi7_dp_service_srng() 91 ath12k_wifi7_dp_mon_process_ring(dp, id, napi, in ath12k_wifi7_dp_service_srng() 114 napi, budget, in ath12k_wifi7_dp_service_srng()
|
| /linux/drivers/net/wan/ |
| H A D | lapbether.c | 59 struct napi_struct napi; member 89 static int lapbeth_napi_poll(struct napi_struct *napi, int budget) in lapbeth_napi_poll() argument 91 struct lapbethdev *lapbeth = container_of(napi, struct lapbethdev, in lapbeth_napi_poll() 92 napi); in lapbeth_napi_poll() 104 napi_complete(napi); in lapbeth_napi_poll() 179 napi_schedule(&lapbeth->napi); in lapbeth_data_indication() 278 napi_schedule(&lapbeth->napi); in lapbeth_connected() 296 napi_schedule(&lapbeth->napi); in lapbeth_disconnected() 325 napi_enable(&lapbeth->napi); in lapbeth_open() 329 napi_disable(&lapbeth->napi); in lapbeth_open() [all …]
|
| /linux/drivers/net/ethernet/qlogic/qlcnic/ |
| H A D | qlcnic_io.c | 959 static int qlcnic_poll(struct napi_struct *napi, int budget) in qlcnic_poll() argument 966 sds_ring = container_of(napi, struct qlcnic_host_sds_ring, napi); in qlcnic_poll() 979 napi_complete_done(&sds_ring->napi, work_done); in qlcnic_poll() 989 static int qlcnic_tx_poll(struct napi_struct *napi, int budget) in qlcnic_tx_poll() argument 995 tx_ring = container_of(napi, struct qlcnic_host_tx_ring, napi); in qlcnic_tx_poll() 1000 napi_complete(&tx_ring->napi); in qlcnic_tx_poll() 1011 static int qlcnic_rx_poll(struct napi_struct *napi, int budget) in qlcnic_rx_poll() argument 1017 sds_ring = container_of(napi, struct qlcnic_host_sds_ring, napi); in qlcnic_rx_poll() 1023 napi_complete_done(&sds_ring->napi, work_done); in qlcnic_rx_poll() 1248 napi_gro_receive(&sds_ring->napi, skb); in qlcnic_process_rcv() [all …]
|
| /linux/drivers/net/can/dev/ |
| H A D | rx-offload.c | 42 static int can_rx_offload_napi_poll(struct napi_struct *napi, int quota) in can_rx_offload_napi_poll() argument 44 struct can_rx_offload *offload = container_of(napi, in can_rx_offload_napi_poll() 46 napi); in can_rx_offload_napi_poll() 66 napi_complete_done(napi, work_done); in can_rx_offload_napi_poll() 70 napi_schedule(&offload->napi); in can_rx_offload_napi_poll() 325 napi_schedule(&offload->napi); in can_rx_offload_irq_finish() 347 napi_schedule(&offload->napi); in can_rx_offload_threaded_irq_finish() 364 netif_napi_add_weight(dev, &offload->napi, can_rx_offload_napi_poll, in can_rx_offload_init_queue() 417 napi_enable(&offload->napi); in can_rx_offload_enable() 423 netif_napi_del(&offload->napi); in can_rx_offload_del()
|
| /linux/drivers/net/wireless/mediatek/mt76/ |
| H A D | mt792x_dma.c | 66 napi_schedule(&dev->mt76.napi[MT_RXQ_MCU]); in mt792x_irq_tasklet() 69 napi_schedule(&dev->mt76.napi[MT_RXQ_MCU_WA]); in mt792x_irq_tasklet() 72 napi_schedule(&dev->mt76.napi[MT_RXQ_MAIN]); in mt792x_irq_tasklet() 316 int mt792x_poll_tx(struct napi_struct *napi, int budget) in mt792x_poll_tx() argument 320 dev = container_of(napi, struct mt792x_dev, mt76.tx_napi); in mt792x_poll_tx() 323 napi_complete(napi); in mt792x_poll_tx() 329 if (napi_complete(napi)) in mt792x_poll_tx() 338 int mt792x_poll_rx(struct napi_struct *napi, int budget) in mt792x_poll_rx() argument 343 dev = mt76_priv(napi->dev); in mt792x_poll_rx() 346 napi_complete(napi); in mt792x_poll_rx() [all …]
|
| /linux/drivers/net/ethernet/intel/libeth/ |
| H A D | xsk.c | 208 void libeth_xsk_init_wakeup(call_single_data_t *csd, struct napi_struct *napi) in libeth_xsk_init_wakeup() argument 210 INIT_CSD(csd, libeth_xsk_napi_sched, napi); in libeth_xsk_init_wakeup() 225 struct napi_struct *napi = csd->info; in libeth_xsk_wakeup() local 227 if (napi_if_scheduled_mark_missed(napi) || in libeth_xsk_wakeup() 228 unlikely(!napi_schedule_prep(napi))) in libeth_xsk_wakeup() 237 __napi_schedule(napi); in libeth_xsk_wakeup()
|