Lines Matching refs:q
14 static size_t xskq_get_ring_size(struct xsk_queue *q, bool umem_queue) in xskq_get_ring_size() argument
20 return struct_size(umem_ring, desc, q->nentries); in xskq_get_ring_size()
21 return struct_size(rxtx_ring, desc, q->nentries); in xskq_get_ring_size()
26 struct xsk_queue *q; in xskq_create() local
29 q = kzalloc(sizeof(*q), GFP_KERNEL); in xskq_create()
30 if (!q) in xskq_create()
33 q->nentries = nentries; in xskq_create()
34 q->ring_mask = nentries - 1; in xskq_create()
36 size = xskq_get_ring_size(q, umem_queue); in xskq_create()
43 kfree(q); in xskq_create()
49 q->ring = vmalloc_user(size); in xskq_create()
50 if (!q->ring) { in xskq_create()
51 kfree(q); in xskq_create()
55 q->ring_vmalloc_size = size; in xskq_create()
56 return q; in xskq_create()
59 void xskq_destroy(struct xsk_queue *q) in xskq_destroy() argument
61 if (!q) in xskq_destroy()
64 vfree(q->ring); in xskq_destroy()
65 kfree(q); in xskq_destroy()