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

Function cperf_initialize_cryptodev

dpdk/app/test-crypto-perf/main.c:123–330  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

121}
122
123static int
124cperf_initialize_cryptodev(struct cperf_options *opts, uint8_t *enabled_cdevs)
125{
126 uint8_t enabled_cdev_count = 0, nb_lcores, cdev_id;
127 uint32_t sessions_needed = 0;
128 unsigned int i, j;
129 int ret;
130
131 enabled_cdev_count = rte_cryptodev_devices_get(opts->device_type,
132 enabled_cdevs, RTE_CRYPTO_MAX_DEVS);
133 if (enabled_cdev_count == 0) {
134 printf("No crypto devices type %s available\n",
135 opts->device_type);
136 return -EINVAL;
137 }
138
139 nb_lcores = rte_lcore_count() - 1;
140
141 if (nb_lcores < 1) {
142 RTE_LOG(ERR, USER1,
143 "Number of enabled cores need to be higher than 1\n");
144 return -EINVAL;
145 }
146
147 /*
148 * Use less number of devices,
149 * if there are more available than cores.
150 */
151 if (enabled_cdev_count > nb_lcores)
152 enabled_cdev_count = nb_lcores;
153
154 /* Create a mempool shared by all the devices */
155 uint32_t max_sess_size = 0, sess_size;
156
157 for (cdev_id = 0; cdev_id < rte_cryptodev_count(); cdev_id++) {
158 sess_size = rte_cryptodev_sym_get_private_session_size(cdev_id);
159 if (sess_size > max_sess_size)
160 max_sess_size = sess_size;
161 }
162#ifdef RTE_LIB_SECURITY
163 for (cdev_id = 0; cdev_id < rte_cryptodev_count(); cdev_id++) {
164 sess_size = rte_security_session_get_size(
165 rte_cryptodev_get_sec_ctx(cdev_id));
166 if (sess_size > max_sess_size)
167 max_sess_size = sess_size;
168 }
169#endif
170 /*
171 * Calculate number of needed queue pairs, based on the amount
172 * of available number of logical cores and crypto devices.
173 * For instance, if there are 4 cores and 2 crypto devices,
174 * 2 queue pairs will be set up per device.
175 */
176 opts->nb_qps = (nb_lcores % enabled_cdev_count) ?
177 (nb_lcores / enabled_cdev_count) + 1 :
178 nb_lcores / enabled_cdev_count;
179
180 for (i = 0; i < enabled_cdev_count &&

Callers 1

mainFunction · 0.85

Calls 15

rte_lcore_countFunction · 0.85
rte_cryptodev_countFunction · 0.85
strcmpFunction · 0.85
rte_cryptodev_socket_idFunction · 0.85
rte_cryptodev_info_getFunction · 0.85

Tested by

no test coverage detected