[dpdk-dev] [PATCH] net/af_xdp: submit valid count to Tx queue
David Marchand
david.marchand at redhat.com
Thu Apr 11 09:20:08 CEST 2019
Hello Xiaolong,
On Thu, Apr 11, 2019 at 4:30 AM Ye Xiaolong <xiaolong.ye at intel.com> wrote:
> On 04/10, David Marchand wrote:
> >If we reserve N slots, but only submit n slots, we end up with an
> incorrect
> >opinion of the number of available slots later.
> >Either xsk_ring_prod__submit should also update cached_prod (but I am not
> >sure it was the intent of this api), or we must ensure that both reserve
> >and submit are consistent.
>
> I think you are right, current design does have the flaw, I haven't
> thought of
> it before :( So in order to make sure both reserve and submit are
> consistent, what
> about we check the valid count of mbuf at the beginning, then reserve the
> valid
> count slots?
>
>
Ok, I can see other places to inspect in the driver: reserve_fill_queue()
for the same issue, and eth_af_xdp_rx() for a similar issue but with
xsk_ring_cons__peek()/xsk_ring_cons__release() ?
Validating the needed slots count before reserving/peeking in the prod/cons
rings seems the most simple fix.
--
David Marchand
More information about the dev
mailing list