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

Function consume_events

dpdk/drivers/event/octeontx/ssovf_evdev_selftest.c:388–425  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

386 struct rte_event *ev);
387
388static inline int
389consume_events(uint8_t port, const uint32_t total_events, validate_event_cb fn)
390{
391 int ret;
392 uint16_t valid_event;
393 uint32_t events = 0, forward_progress_cnt = 0, index = 0;
394 struct rte_event ev;
395
396 while (1) {
397 if (++forward_progress_cnt > UINT16_MAX) {
398 ssovf_log_dbg("Detected deadlock");
399 return -1;
400 }
401
402 valid_event = rte_event_dequeue_burst(evdev, port, &ev, 1, 0);
403 if (!valid_event)
404 continue;
405
406 forward_progress_cnt = 0;
407 ret = validate_event(&ev);
408 if (ret)
409 return -1;
410
411 if (fn != NULL) {
412 ret = fn(index, port, &ev);
413 RTE_TEST_ASSERT_SUCCESS(ret,
414 "Failed to validate test specific event");
415 }
416
417 ++index;
418
419 rte_pktmbuf_free(ev.mbuf);
420 if (++events >= total_events)
421 break;
422 }
423
424 return check_excess_events(port);
425}
426
427static int
428validate_simple_enqdeq(uint32_t index, uint8_t port, struct rte_event *ev)

Calls 4

rte_event_dequeue_burstFunction · 0.85
rte_pktmbuf_freeFunction · 0.85
validate_eventFunction · 0.70
check_excess_eventsFunction · 0.70

Tested by

no test coverage detected