On Mon, Apr 6, 2020 at 6:44 PM Thomas Monjalon <tho...@monjalon.net> wrote: > > 06/04/2020 14:33, Pavan Nikhilesh Bhagavatula: > > >> 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. > > No, we must worry about ABI from the beginning.
I think, we need to have the performance number first before we decide one or another. > > > We can follow the same path as done by ethdev > > [https://www.mail-archive.com/dev@dpdk.org/msg142392.html] > > ethdev is not an argument. Actually this thread explains how to make it inline without exposing the internal structure unlike existing ethdev. The effort is stalled due to PMD changes required. In this case, regexdev is new so it is the correct time to add such code. > > >