[PATCH v1] event/cnxk: fix setting event attributes in empty get work

Jerin Jacob jerinjacobk at gmail.com
Wed May 17 15:15:10 CEST 2023


On Thu, Apr 27, 2023 at 12:24 PM Pavan Nikhilesh Bhagavatula
<pbhagavatula at marvell.com> wrote:
>
>
>
> > -----Original Message-----
> > From: Shijith Thotton <sthotton at marvell.com>
> > Sent: Thursday, April 27, 2023 11:58 AM
> > To: Jerin Jacob Kollanukkaran <jerinj at marvell.com>
> > Cc: Shijith Thotton <sthotton at marvell.com>; dev at dpdk.org; Pavan
> > Nikhilesh Bhagavatula <pbhagavatula at marvell.com>; stable at dpdk.org
> > Subject: [PATCH v1] event/cnxk: fix setting event attributes in empty get
> > work
> >
> > Even when no events are dequeued, it is important to update event
> > attributes as they provide valuable information for checking the work
> > slot state and other attributes.
> >
> > Fixes: c0a9774f030d ("event/cnxk: move post-processing to separate
> > function")
> >
> > Signed-off-by: Shijith Thotton <sthotton at marvell.com>
>
> Acked-by: Pavan Nikhilesh <pbhagavatula at marvell.com>

Applied to dpdk-next-net-eventdev/for-main. Thanks


>
> > ---
> >  drivers/event/cnxk/cn10k_worker.h | 3 +++
> >  drivers/event/cnxk/cn9k_worker.h  | 6 ++++--
> >  2 files changed, 7 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/event/cnxk/cn10k_worker.h
> > b/drivers/event/cnxk/cn10k_worker.h
> > index 06c71c6092..beae2be903 100644
> > --- a/drivers/event/cnxk/cn10k_worker.h
> > +++ b/drivers/event/cnxk/cn10k_worker.h
> > @@ -282,6 +282,9 @@ cn10k_sso_hws_get_work_empty(struct
> > cn10k_sso_hws *ws, struct rte_event *ev,
> >       ws->gw_rdata = gw.u64[0];
> >       if (gw.u64[1])
> >               cn10k_sso_hws_post_process(ws, gw.u64, flags);
> > +     else
> > +             gw.u64[0] = (gw.u64[0] & (0x3ull << 32)) << 6 |
> > +                         (gw.u64[0] & (0x3FFull << 36)) << 4 | (gw.u64[0] &
> > 0xffffffff);
> >
> >       ev->event = gw.u64[0];
> >       ev->u64 = gw.u64[1];
> > diff --git a/drivers/event/cnxk/cn9k_worker.h
> > b/drivers/event/cnxk/cn9k_worker.h
> > index 1ce4b044e8..47eea70b5f 100644
> > --- a/drivers/event/cnxk/cn9k_worker.h
> > +++ b/drivers/event/cnxk/cn9k_worker.h
> > @@ -353,8 +353,10 @@ cn9k_sso_hws_get_work_empty(uint64_t base,
> > struct rte_event *ev,
> >  #endif
> >
> >       if (gw.u64[1])
> > -             cn9k_sso_hws_post_process(gw.u64, mbuf, flags,
> > lookup_mem,
> > -                                       tstamp);
> > +             cn9k_sso_hws_post_process(gw.u64, mbuf, flags,
> > lookup_mem, tstamp);
> > +     else
> > +             gw.u64[0] = (gw.u64[0] & (0x3ull << 32)) << 6 |
> > +                         (gw.u64[0] & (0x3FFull << 36)) << 4 | (gw.u64[0] &
> > 0xffffffff);
> >
> >       ev->event = gw.u64[0];
> >       ev->u64 = gw.u64[1];
> > --
> > 2.25.1
>


More information about the stable mailing list