[dpdk-stable] 回复: [PATCH] lib/ring: fix the bug of HTS/RTS bulk enqueue

Feifei Wang Feifei.Wang2 at arm.com
Fri Jun 12 07:02:30 CEST 2020


> -----邮件原件-----
> 发件人: Ananyev, Konstantin <konstantin.ananyev at intel.com>
> 发送时间: 2020年6月10日 18:17
> 收件人: Feifei Wang <Feifei.Wang2 at arm.com>; Honnappa Nagarahalli
> <Honnappa.Nagarahalli at arm.com>
> 抄送: dev at dpdk.org; nd <nd at arm.com>; stable at dpdk.org
> 主题: RE: [PATCH] lib/ring: fix the bug of HTS/RTS bulk enqueue
>
>
> > Directly call "_rte_ring_do_enqueue_elem" function can result in the
> > process skips the "switch" order and cannot call the APIs of RTS and
> > HTS mode in "rte_ring_enqueue_bulk_elem" function.
> >
> > To fix it, remove the unnecessary function and make
> > "_rte_ring_do_enqueue_elem" consistent with
> "_rte_ring_do_dequeue_elem".
> >
> > Fixes: e6ba4731c0f3 ("ring: introduce RTS ring mode")
> > Cc: stable at dpdk.org
> >
> > Signed-off-by: Feifei Wang <feifei.wang2 at arm.com>
> > Reviewed-by: Ruifeng Wang <ruifeng.wang at arm.com>
> > ---
> >  lib/librte_ring/rte_ring_elem.h | 3 ---
> >  1 file changed, 3 deletions(-)
> >
> > diff --git a/lib/librte_ring/rte_ring_elem.h
> > b/lib/librte_ring/rte_ring_elem.h index a5a4c46f9..469aee7da 100644
> > --- a/lib/librte_ring/rte_ring_elem.h
> > +++ b/lib/librte_ring/rte_ring_elem.h
> > @@ -578,9 +578,6 @@ static __rte_always_inline unsigned int
> > rte_ring_enqueue_bulk_elem(struct rte_ring *r, const void *obj_table,
> >  unsigned int esize, unsigned int n, unsigned int *free_space)
> {
> > -return __rte_ring_do_enqueue_elem(r, obj_table, esize, n,
> > -RTE_RING_QUEUE_FIXED, r->prod.sync_type,
> free_space);
> > -
> >  switch (r->prod.sync_type) {
> >  case RTE_RING_SYNC_MT:
> >  return rte_ring_mp_enqueue_bulk_elem(r, obj_table, esize,
> n,
> > --
>
> Ouch, that was a nasty one from me.
> Thanks for catching and fixing.
That's all right. It is admirable to integrate RTS mode. And I think I need a lot of things to learn from you.
> Acked-by: Konstantin Ananyev <konstantin.ananyev at intel.com>
>
> > 2.17.1

IMPORTANT NOTICE: The contents of this email and any attachments are confidential and may also be privileged. If you are not the intended recipient, please notify the sender immediately and do not disclose the contents to any other person, use it for any purpose, or store or copy the information in any medium. Thank you.


More information about the stable mailing list