Lines Matching +full:inter +full:- +full:processor

1 // SPDX-License-Identifier: GPL-2.0-only
30 * libeth_xsk_buff_free_slow - free an XSk Rx buffer
38 xsk_buff_free(&xdp->base); in libeth_xsk_buff_free_slow()
43 * libeth_xsk_buff_add_frag - add frag to XSk Rx buffer
56 if (!xsk_buff_add_frag(&head->base, &xdp->base)) in libeth_xsk_buff_add_frag()
70 * libeth_xsk_buff_stats_frags - update onstack RQ stats with XSk frags info
85 * __libeth_xsk_run_prog_slow - process the non-``XDP_REDIRECT`` verdicts
93 * it is processed inline. The rest goes here for out-of-line processing,
104 xsk_buff_free(&xdp->base); in __libeth_xsk_run_prog_slow()
120 * libeth_xsk_prog_exception - handle XDP prog exceptions on XSk
139 xsk = container_of(&xdp->base, typeof(*xsk), xdp); in libeth_xsk_prog_exception()
140 if (xsk_uses_need_wakeup(xsk->pool) && ret == -ENOBUFS) in libeth_xsk_prog_exception()
152 * libeth_xskfq_create - create an XSkFQ
158 * Return: %0 on success, -errno otherwise.
162 fq->fqes = kvcalloc_node(fq->count, sizeof(*fq->fqes), GFP_KERNEL, in libeth_xskfq_create()
163 fq->nid); in libeth_xskfq_create()
164 if (!fq->fqes) in libeth_xskfq_create()
165 return -ENOMEM; in libeth_xskfq_create()
167 fq->pending = fq->count; in libeth_xskfq_create()
168 fq->thresh = libeth_xdp_queue_threshold(fq->count); in libeth_xskfq_create()
169 fq->buf_len = xsk_pool_get_rx_frame_size(fq->pool); in libeth_xskfq_create()
176 * libeth_xskfq_destroy - destroy an XSkFQ
183 fq->buf_len = 0; in libeth_xskfq_destroy()
184 fq->thresh = 0; in libeth_xskfq_destroy()
185 fq->pending = 0; in libeth_xskfq_destroy()
187 kvfree(fq->fqes); in libeth_xskfq_destroy()
199 * libeth_xsk_init_wakeup - initialize libeth XSk wakeup structure
203 * libeth_xdp uses inter-processor interrupts to perform XSk wakeups. In order
214 * libeth_xsk_wakeup - perform an XSk wakeup
224 struct napi_struct *napi = csd->info; in libeth_xsk_wakeup()
246 * libeth_xsk_setup_pool - setup or destroy an XSk pool for a queue
253 * Return: %0 on success, -errno otherwise.
261 return -EINVAL; in libeth_xsk_setup_pool()
264 return xsk_pool_dma_map(pool, dev->dev.parent, in libeth_xsk_setup_pool()