MCPcopy Create free account
hub / github.com/F-Stack/f-stack / vring_size

Function vring_size

dpdk/drivers/net/virtio/virtio_ring.h:131–150  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

129#define vring_avail_event(vr) (*(uint16_t *)&(vr)->used->ring[(vr)->num])
130
131static inline size_t
132vring_size(struct virtio_hw *hw, unsigned int num, unsigned long align)
133{
134 size_t size;
135
136 if (virtio_with_packed_queue(hw)) {
137 size = num * sizeof(struct vring_packed_desc);
138 size += sizeof(struct vring_packed_desc_event);
139 size = RTE_ALIGN_CEIL(size, align);
140 size += sizeof(struct vring_packed_desc_event);
141 return size;
142 }
143
144 size = num * sizeof(struct vring_desc);
145 size += sizeof(struct vring_avail) + (num * sizeof(uint16_t));
146 size = RTE_ALIGN_CEIL(size, align);
147 size += sizeof(struct vring_used) +
148 (num * sizeof(struct vring_used_elem));
149 return size;
150}
151static inline void
152vring_init_split(struct vring *vr, uint8_t *p, unsigned long align,
153 unsigned int num)

Callers 3

virtqueue_allocFunction · 0.70
m_ifcvf_startFunction · 0.50
m_ifcvf_stopFunction · 0.50

Calls 1

virtio_with_packed_queueFunction · 0.85

Tested by

no test coverage detected