| 555 | } |
| 556 | |
| 557 | static inline bool |
| 558 | desc_is_avail(struct vring_packed_desc *desc, bool wrap_counter) |
| 559 | { |
| 560 | uint16_t flags = rte_atomic_load_explicit((unsigned short __rte_atomic *)&desc->flags, |
| 561 | rte_memory_order_acquire); |
| 562 | |
| 563 | return wrap_counter == !!(flags & VRING_DESC_F_AVAIL) && |
| 564 | wrap_counter != !!(flags & VRING_DESC_F_USED); |
| 565 | } |
| 566 | |
| 567 | static inline void |
| 568 | vq_inc_last_used_packed(struct vhost_virtqueue *vq, uint16_t num) |
no outgoing calls
no test coverage detected