On 1/9/2020 10:56 AM, Viacheslav Ovsiienko wrote: > The new software manged entity is introduced in Tx datapath > - free on completion queue. This queue keeps the information > how many buffers stored in elts array must freed on send > comletion. Each element of the queue contains transmitting > descriptor index to be in synch with completion entries (in > debug build only) and the index in elts array to free buffers. > > Signed-off-by: Viacheslav Ovsiienko <viachesl...@mellanox.com> > Acked-by: Matan Azrad <ma...@mellanox.com>
<...> > @@ -297,6 +297,11 @@ struct mlx5_txq_data { > struct mlx5_mr_ctrl mr_ctrl; /* MR control descriptor. */ > struct mlx5_wqe *wqes; /* Work queue. */ > struct mlx5_wqe *wqes_end; /* Work queue array limit. */ > +#ifdef NDEBUG > + uint32_t *fcqs; /* Free completion queue. */ > +#else > + uint32_t *fcqs; /* Free completion queue (debug extended). */ > +#endif Why is the #ifdef required?