patches for DPDK stable branches
 help / color / mirror / Atom feed
* [PATCH v1] event/cnxk: fix setting event attributes in empty get work
@ 2023-04-27  6:28 Shijith Thotton
  2023-04-27  6:54 ` Pavan Nikhilesh Bhagavatula
  0 siblings, 1 reply; 3+ messages in thread
From: Shijith Thotton @ 2023-04-27  6:28 UTC (permalink / raw)
  To: jerinj; +Cc: Shijith Thotton, dev, pbhagavatula, stable

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@marvell.com>
---
 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


^ permalink raw reply	[flat|nested] 3+ messages in thread

* RE: [PATCH v1] event/cnxk: fix setting event attributes in empty get work
  2023-04-27  6:28 [PATCH v1] event/cnxk: fix setting event attributes in empty get work Shijith Thotton
@ 2023-04-27  6:54 ` Pavan Nikhilesh Bhagavatula
  2023-05-17 13:15   ` Jerin Jacob
  0 siblings, 1 reply; 3+ messages in thread
From: Pavan Nikhilesh Bhagavatula @ 2023-04-27  6:54 UTC (permalink / raw)
  To: Shijith Thotton, Jerin Jacob Kollanukkaran; +Cc: Shijith Thotton, dev, stable



> -----Original Message-----
> From: Shijith Thotton <sthotton@marvell.com>
> Sent: Thursday, April 27, 2023 11:58 AM
> To: Jerin Jacob Kollanukkaran <jerinj@marvell.com>
> Cc: Shijith Thotton <sthotton@marvell.com>; dev@dpdk.org; Pavan
> Nikhilesh Bhagavatula <pbhagavatula@marvell.com>; stable@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@marvell.com>

Acked-by: Pavan Nikhilesh <pbhagavatula@marvell.com>

> ---
>  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


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH v1] event/cnxk: fix setting event attributes in empty get work
  2023-04-27  6:54 ` Pavan Nikhilesh Bhagavatula
@ 2023-05-17 13:15   ` Jerin Jacob
  0 siblings, 0 replies; 3+ messages in thread
From: Jerin Jacob @ 2023-05-17 13:15 UTC (permalink / raw)
  To: Pavan Nikhilesh Bhagavatula
  Cc: Shijith Thotton, Jerin Jacob Kollanukkaran, dev, stable

On Thu, Apr 27, 2023 at 12:24 PM Pavan Nikhilesh Bhagavatula
<pbhagavatula@marvell.com> wrote:
>
>
>
> > -----Original Message-----
> > From: Shijith Thotton <sthotton@marvell.com>
> > Sent: Thursday, April 27, 2023 11:58 AM
> > To: Jerin Jacob Kollanukkaran <jerinj@marvell.com>
> > Cc: Shijith Thotton <sthotton@marvell.com>; dev@dpdk.org; Pavan
> > Nikhilesh Bhagavatula <pbhagavatula@marvell.com>; stable@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@marvell.com>
>
> Acked-by: Pavan Nikhilesh <pbhagavatula@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
>

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2023-05-17 13:15 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-04-27  6:28 [PATCH v1] event/cnxk: fix setting event attributes in empty get work Shijith Thotton
2023-04-27  6:54 ` Pavan Nikhilesh Bhagavatula
2023-05-17 13:15   ` Jerin Jacob

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).