DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH] event/sw: allow fwd and rel when out of credits
@ 2017-09-08 18:07 Gage Eads
  2017-09-11  8:52 ` Van Haaren, Harry
  2017-09-11  8:55 ` Van Haaren, Harry
  0 siblings, 2 replies; 4+ messages in thread
From: Gage Eads @ 2017-09-08 18:07 UTC (permalink / raw)
  To: dev; +Cc: harry.van.haaren, jerin.jacon

When forwarding or releasing events, the operation would fail if the port
has 0 inflight credits and cannot acquire more, or the inflight count
exceeds the port's new event threshold.

This patch fixes that by counting the number of new events in the burst,
and applying the credit and new event threshold checks accordingly.

Signed-off-by: Gage Eads <gage.eads@intel.com>
---
 drivers/event/sw/sw_evdev_worker.c | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/drivers/event/sw/sw_evdev_worker.c b/drivers/event/sw/sw_evdev_worker.c
index d76d3d5..b3b3b17 100644
--- a/drivers/event/sw/sw_evdev_worker.c
+++ b/drivers/event/sw/sw_evdev_worker.c
@@ -85,14 +85,18 @@ sw_event_enqueue_burst(void *port, const struct rte_event ev[], uint16_t num)
 	struct sw_port *p = port;
 	struct sw_evdev *sw = (void *)p->sw;
 	uint32_t sw_inflights = rte_atomic32_read(&sw->inflights);
-
-	if (unlikely(p->inflight_max < sw_inflights))
-		return 0;
+	int new = 0;
 
 	if (num > PORT_ENQUEUE_MAX_BURST_SIZE)
 		num = PORT_ENQUEUE_MAX_BURST_SIZE;
 
-	if (p->inflight_credits < num) {
+	for (i = 0; i < num; i++)
+		new += (ev[i].op == RTE_EVENT_OP_NEW);
+
+	if (unlikely(new > 0 && p->inflight_max < sw_inflights))
+		return 0;
+
+	if (p->inflight_credits < new) {
 		/* check if event enqueue brings port over max threshold */
 		uint32_t credit_update_quanta = sw->credit_update_quanta;
 		if (sw_inflights + credit_update_quanta > sw->nb_events_limit)
@@ -101,7 +105,7 @@ sw_event_enqueue_burst(void *port, const struct rte_event ev[], uint16_t num)
 		rte_atomic32_add(&sw->inflights, credit_update_quanta);
 		p->inflight_credits += (credit_update_quanta);
 
-		if (p->inflight_credits < num)
+		if (p->inflight_credits < new)
 			return 0;
 	}
 
-- 
2.7.4

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

* Re: [dpdk-dev] [PATCH] event/sw: allow fwd and rel when out of credits
  2017-09-08 18:07 [dpdk-dev] [PATCH] event/sw: allow fwd and rel when out of credits Gage Eads
@ 2017-09-11  8:52 ` Van Haaren, Harry
  2017-10-16 11:33   ` Jerin Jacob
  2017-09-11  8:55 ` Van Haaren, Harry
  1 sibling, 1 reply; 4+ messages in thread
From: Van Haaren, Harry @ 2017-09-11  8:52 UTC (permalink / raw)
  To: Eads, Gage, dev; +Cc: jerin.jacon

> From: Eads, Gage
> Sent: Friday, September 8, 2017 7:08 PM
> To: dev@dpdk.org
> Cc: Van Haaren, Harry <harry.van.haaren@intel.com>;
> jerin.jacon@caviumnetworks.com
> Subject: [PATCH] event/sw: allow fwd and rel when out of credits
> 
> When forwarding or releasing events, the operation would fail if the port
> has 0 inflight credits and cannot acquire more, or the inflight count
> exceeds the port's new event threshold.
> 
> This patch fixes that by counting the number of new events in the burst,
> and applying the credit and new event threshold checks accordingly.
> 
> Signed-off-by: Gage Eads <gage.eads@intel.com>

Acked-by: Harry van Haaren <harry.van.haaren@intel.com>

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

* Re: [dpdk-dev] [PATCH] event/sw: allow fwd and rel when out of credits
  2017-09-08 18:07 [dpdk-dev] [PATCH] event/sw: allow fwd and rel when out of credits Gage Eads
  2017-09-11  8:52 ` Van Haaren, Harry
@ 2017-09-11  8:55 ` Van Haaren, Harry
  1 sibling, 0 replies; 4+ messages in thread
From: Van Haaren, Harry @ 2017-09-11  8:55 UTC (permalink / raw)
  To: Eads, Gage, dev; +Cc: Jerin Jacob

Re-send fixing Jerin's email;

> From: Van Haaren, Harry
> Sent: Monday, September 11, 2017 9:53 AM
> To: Eads, Gage <gage.eads@intel.com>; dev@dpdk.org
> Cc: jerin.jacon@caviumnetworks.com
> Subject: RE: [PATCH] event/sw: allow fwd and rel when out of credits
> 
> > From: Eads, Gage
> > Sent: Friday, September 8, 2017 7:08 PM
> > To: dev@dpdk.org
> > Cc: Van Haaren, Harry <harry.van.haaren@intel.com>;
> > jerin.jacon@caviumnetworks.com
> > Subject: [PATCH] event/sw: allow fwd and rel when out of credits
> >
> > When forwarding or releasing events, the operation would fail if the port
> > has 0 inflight credits and cannot acquire more, or the inflight count
> > exceeds the port's new event threshold.
> >
> > This patch fixes that by counting the number of new events in the burst,
> > and applying the credit and new event threshold checks accordingly.
> >
> > Signed-off-by: Gage Eads <gage.eads@intel.com>
> 
> Acked-by: Harry van Haaren <harry.van.haaren@intel.com>

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

* Re: [dpdk-dev] [PATCH] event/sw: allow fwd and rel when out of credits
  2017-09-11  8:52 ` Van Haaren, Harry
@ 2017-10-16 11:33   ` Jerin Jacob
  0 siblings, 0 replies; 4+ messages in thread
From: Jerin Jacob @ 2017-10-16 11:33 UTC (permalink / raw)
  To: Van Haaren, Harry; +Cc: Eads, Gage, dev, jerin.jacon

-----Original Message-----
> Date: Mon, 11 Sep 2017 08:52:44 +0000
> From: "Van Haaren, Harry" <harry.van.haaren@intel.com>
> To: "Eads, Gage" <gage.eads@intel.com>, "dev@dpdk.org" <dev@dpdk.org>
> CC: "jerin.jacon@caviumnetworks.com" <jerin.jacon@caviumnetworks.com>
> Subject: Re: [dpdk-dev] [PATCH] event/sw: allow fwd and rel when out of
>  credits
> 
> > From: Eads, Gage
> > Sent: Friday, September 8, 2017 7:08 PM
> > To: dev@dpdk.org
> > Cc: Van Haaren, Harry <harry.van.haaren@intel.com>;
> > jerin.jacon@caviumnetworks.com
> > Subject: [PATCH] event/sw: allow fwd and rel when out of credits
> > 
> > When forwarding or releasing events, the operation would fail if the port
> > has 0 inflight credits and cannot acquire more, or the inflight count
> > exceeds the port's new event threshold.
> > 
> > This patch fixes that by counting the number of new events in the burst,
> > and applying the credit and new event threshold checks accordingly.
> > 
> > Signed-off-by: Gage Eads <gage.eads@intel.com>
> 
> Acked-by: Harry van Haaren <harry.van.haaren@intel.com>

Applied to dpdk-next-eventdev/master. Thanks.

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

end of thread, other threads:[~2017-10-16 11:33 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-09-08 18:07 [dpdk-dev] [PATCH] event/sw: allow fwd and rel when out of credits Gage Eads
2017-09-11  8:52 ` Van Haaren, Harry
2017-10-16 11:33   ` Jerin Jacob
2017-09-11  8:55 ` Van Haaren, Harry

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