>> From: Pavan Nikhilesh Bhagavatula >> > >+uint16_t >> > >+rte_regexdev_enqueue_burst(uint8_t dev_id, uint16_t qp_id, >> > >+ struct rte_regex_ops **ops, uint16_t nb_ops) >> > >+{ >> > >+ return regex_devices[dev_id]- >> > >>enqueue(regex_devices[dev_id], qp_id, >> > >+ ops, nb_ops); >> > >+} >> > >> > Move these functions to .h in-lining them. >> > Also, please add debug checks @see >rte_eth_rx_burst/rte_eth_tx_burst. >> >> O.K will update. > >In general, inlining is a pain for ABI compatibility. >Please inline only if the gain is very significant. >
The performance gain mostly comes from hoisting `regex_devices[dev_id]` load above the poll loop. Since, the performance measurement application is still in pipeline and regexdev would be experimental for next couple of releases I suggest inlining it now and worrying about ABI when experimental tag needs to be removed. We can follow the same path as done by ethdev [https://www.mail-archive.com/dev@dpdk.org/msg142392.html]