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

Function main

dpdk/examples/bbdev_app/main.c:1035–1194  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1033}
1034
1035int
1036main(int argc, char **argv)
1037{
1038 int ret;
1039 unsigned int nb_bbdevs, flags, lcore_id;
1040 void *sigret;
1041 struct app_config_params app_params = def_app_config;
1042 struct rte_mempool *ethdev_mbuf_mempool, *bbdev_mbuf_mempool;
1043 struct rte_mempool *bbdev_op_pools[RTE_BBDEV_OP_TYPE_SIZE_MAX];
1044 struct lcore_conf lcore_conf[RTE_MAX_LCORE] = { {0} };
1045 struct lcore_statistics lcore_stats[RTE_MAX_LCORE] = { {0} };
1046 struct stats_lcore_params stats_lcore;
1047 struct rte_ring *enc_to_dec_ring;
1048 bool stats_thread_started = false;
1049 unsigned int main_lcore_id = rte_get_main_lcore();
1050
1051 static const struct rte_mbuf_dynfield input_dynfield_desc = {
1052 .name = "example_bbdev_dynfield_input",
1053 .size = sizeof(struct rte_mbuf *),
1054 .align = __alignof__(struct rte_mbuf *),
1055 };
1056
1057 __atomic_store_n(&global_exit_flag, 0, __ATOMIC_RELAXED);
1058
1059 sigret = signal(SIGTERM, signal_handler);
1060 if (sigret == SIG_ERR)
1061 rte_exit(EXIT_FAILURE, "signal(%d, ...) failed", SIGTERM);
1062
1063 sigret = signal(SIGINT, signal_handler);
1064 if (sigret == SIG_ERR)
1065 rte_exit(EXIT_FAILURE, "signal(%d, ...) failed", SIGINT);
1066
1067 ret = rte_eal_init(argc, argv);
1068 if (ret < 0)
1069 rte_exit(EXIT_FAILURE, "Invalid EAL arguments\n");
1070
1071 argc -= ret;
1072 argv += ret;
1073
1074 /* parse application arguments (after the EAL ones) */
1075 ret = bbdev_parse_args(argc, argv, &app_params);
1076 if (ret < 0)
1077 rte_exit(EXIT_FAILURE, "Invalid BBDEV arguments\n");
1078
1079 /*create bbdev op pools*/
1080 bbdev_op_pools[RTE_BBDEV_OP_TURBO_DEC] =
1081 rte_bbdev_op_pool_create("bbdev_op_pool_dec",
1082 RTE_BBDEV_OP_TURBO_DEC, NB_MBUF, 128, rte_socket_id());
1083 bbdev_op_pools[RTE_BBDEV_OP_TURBO_ENC] =
1084 rte_bbdev_op_pool_create("bbdev_op_pool_enc",
1085 RTE_BBDEV_OP_TURBO_ENC, NB_MBUF, 128, rte_socket_id());
1086
1087 if ((bbdev_op_pools[RTE_BBDEV_OP_TURBO_DEC] == NULL) ||
1088 (bbdev_op_pools[RTE_BBDEV_OP_TURBO_ENC] == NULL))
1089 rte_exit(EXIT_FAILURE, "Cannot create bbdev op pools\n");
1090
1091 /* Create encoder to decoder ring */
1092 flags = (app_params.num_enc_cores == 1) ? RING_F_SP_ENQ : 0;

Callers

nothing calls this directly

Calls 15

rte_get_main_lcoreFunction · 0.85
rte_exitFunction · 0.85
bbdev_parse_argsFunction · 0.85
rte_bbdev_op_pool_createFunction · 0.85
rte_socket_idFunction · 0.85
rte_ring_createFunction · 0.85
rte_bbdev_countFunction · 0.85
rte_pktmbuf_pool_createFunction · 0.85
rte_lcore_is_enabledFunction · 0.85
rte_eth_dev_startFunction · 0.85

Tested by

no test coverage detected