| 64 | } |
| 65 | |
| 66 | static __rte_always_inline void |
| 67 | iq_enqueue(struct sw_evdev *sw, struct sw_iq *iq, const struct rte_event *ev) |
| 68 | { |
| 69 | iq->tail->events[iq->tail_idx++] = *ev; |
| 70 | iq->count++; |
| 71 | |
| 72 | if (unlikely(iq->tail_idx == SW_EVS_PER_Q_CHUNK)) { |
| 73 | /* The number of chunks is defined in relation to the total |
| 74 | * number of inflight events and number of IQS such that |
| 75 | * allocation will always succeed. |
| 76 | */ |
| 77 | struct sw_queue_chunk *chunk = iq_alloc_chunk(sw); |
| 78 | iq->tail->next = chunk; |
| 79 | iq->tail = chunk; |
| 80 | iq->tail_idx = 0; |
| 81 | } |
| 82 | } |
| 83 | |
| 84 | static __rte_always_inline void |
| 85 | iq_pop(struct sw_evdev *sw, struct sw_iq *iq) |
no test coverage detected