patches for DPDK stable branches
 help / color / mirror / Atom feed
From: Yuanhan Liu <yuanhan.liu@linux.intel.com>
To: Jasvinder Singh <jasvinder.singh@intel.com>
Cc: Tao Y Yang <tao.y.yang@intel.com>, dpdk stable <stable@dpdk.org>
Subject: [dpdk-stable] patch 'examples/qos_sched: fix dequeue from ring' has been queued to stable release 16.07.2
Date: Wed,  2 Nov 2016 18:21:01 +0800	[thread overview]
Message-ID: <1478082097-16957-5-git-send-email-yuanhan.liu@linux.intel.com> (raw)
In-Reply-To: <1478082097-16957-1-git-send-email-yuanhan.liu@linux.intel.com>

Hi,

FYI, your patch has been queued to stable release 16.07.2

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable
yet. It will be pushed if I get no objections before 11/06/16.
So please shout if anyone has objections.

Thanks.

	--yliu

---
>From 52f8f28a1952af3382cc0585a3bc032677aea099 Mon Sep 17 00:00:00 2001
From: Jasvinder Singh <jasvinder.singh@intel.com>
Date: Thu, 1 Sep 2016 11:11:04 +0100
Subject: [PATCH] examples/qos_sched: fix dequeue from ring

[ upstream commit edabd7fef5448af6a9f81892fdb4a365fad9e320 ]

The app_worker_thread() and app_mixed_thread() use rte_ring_sc_dequeue_bulk
to dequeue packets from the ring and this imposes restriction on number of
packets in software ring to be greater than the specified value to start
actual dequeue operation, thus, adds latency to those packets. Therefore,
rte_ring_sc_dequeue_bulk is replaced with rte_ring_sc_dequeue_burst.

Fixes: de3cfa2c9823 ("sched: initial import")

Suggested-by: Tao Y Yang <tao.y.yang@intel.com>
Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com>
---
 examples/qos_sched/app_thread.c | 22 ++++++++++------------
 1 file changed, 10 insertions(+), 12 deletions(-)

diff --git a/examples/qos_sched/app_thread.c b/examples/qos_sched/app_thread.c
index 3c678cc..70fdcdb 100644
--- a/examples/qos_sched/app_thread.c
+++ b/examples/qos_sched/app_thread.c
@@ -215,17 +215,16 @@ app_worker_thread(struct thread_conf **confs)
 
 	while ((conf = confs[conf_idx])) {
 		uint32_t nb_pkt;
-		int retval;
 
 		/* Read packet from the ring */
-		retval = rte_ring_sc_dequeue_bulk(conf->rx_ring, (void **)mbufs,
+		nb_pkt = rte_ring_sc_dequeue_burst(conf->rx_ring, (void **)mbufs,
 					burst_conf.ring_burst);
-		if (likely(retval == 0)) {
+		if (likely(nb_pkt)) {
 			int nb_sent = rte_sched_port_enqueue(conf->sched_port, mbufs,
-					burst_conf.ring_burst);
+					nb_pkt);
 
-			APP_STATS_ADD(conf->stat.nb_drop, burst_conf.ring_burst - nb_sent);
-			APP_STATS_ADD(conf->stat.nb_rx, burst_conf.ring_burst);
+			APP_STATS_ADD(conf->stat.nb_drop, nb_pkt - nb_sent);
+			APP_STATS_ADD(conf->stat.nb_rx, nb_pkt);
 		}
 
 		nb_pkt = rte_sched_port_dequeue(conf->sched_port, mbufs,
@@ -250,17 +249,16 @@ app_mixed_thread(struct thread_conf **confs)
 
 	while ((conf = confs[conf_idx])) {
 		uint32_t nb_pkt;
-		int retval;
 
 		/* Read packet from the ring */
-		retval = rte_ring_sc_dequeue_bulk(conf->rx_ring, (void **)mbufs,
+		nb_pkt = rte_ring_sc_dequeue_burst(conf->rx_ring, (void **)mbufs,
 					burst_conf.ring_burst);
-		if (likely(retval == 0)) {
+		if (likely(nb_pkt)) {
 			int nb_sent = rte_sched_port_enqueue(conf->sched_port, mbufs,
-					burst_conf.ring_burst);
+					nb_pkt);
 
-			APP_STATS_ADD(conf->stat.nb_drop, burst_conf.ring_burst - nb_sent);
-			APP_STATS_ADD(conf->stat.nb_rx, burst_conf.ring_burst);
+			APP_STATS_ADD(conf->stat.nb_drop, nb_pkt - nb_sent);
+			APP_STATS_ADD(conf->stat.nb_rx, nb_pkt);
 		}
 
 
-- 
1.9.0

  parent reply	other threads:[~2016-11-02 10:20 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-11-02 10:20 [dpdk-stable] patch 'examples/ipsec-secgw: check SP only when setup' " Yuanhan Liu
2016-11-02 10:20 ` [dpdk-stable] patch 'pdump: fix created directory permissions' " Yuanhan Liu
2016-11-02 10:20 ` [dpdk-stable] patch 'app/procinfo: free xstats memory upon failure' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'examples/ip_pipeline: fix plugin loading' " Yuanhan Liu
2016-11-02 10:21 ` Yuanhan Liu [this message]
2016-11-02 10:21 ` [dpdk-stable] patch 'app/test: fix hash multiwriter sequence' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'app/testpmd: fix RSS hash key size' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'app/testpmd: fix DCB configuration' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'lpm: fix freeing unused sub-table on rule delete' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'net/bonding: validate speed after link up' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'net/thunderx: fix Tx checksum handling' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'net/enic: fix flow director' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'net/enic: fix crash with removed flow director filters' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'net/bnx2x: fix maximum PF queues' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'net/bnx2x: fix socket id for slowpath memory' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'net/ena: improve safety of string handling' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'net/bnxt: ensure entry length is unsigned' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'net/i40e: do not use VSI before NULL check' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'net/bnxt: fix bit shift size' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'net/mlx5: fix Rx function selection' " Yuanhan Liu
2016-11-02 12:44   ` Nélio Laranjeiro
2016-11-02 10:21 ` [dpdk-stable] patch 'net/ring: fix ring device creation via devargs' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'net/fm10k: fix Rx checksum flags' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'examples/tep_term: fix L4 length' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'examples/tep_term: fix packet length with multi-segments' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'app/testpmd: fix PF/VF check of flow director' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'mempool: fix search of maximum contiguous pages' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'ethdev: prevent duplicate event callback' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'net/bnx2x: fix build with icc' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'net/mlx5: fix hash key size retrieval' " Yuanhan Liu
2016-11-02 12:45   ` Nélio Laranjeiro
2016-11-02 10:21 ` [dpdk-stable] patch 'net/ixgbe: fix flow director mask' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'app/testpmd: " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'app/testpmd: fix flow director endianness' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'net/enic: revert truncated packets counter fix' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'net/ixgbe: fix out of order Rx read' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'net/fm10k: " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'net/mlx5: fix link status report' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'net/fm10k: fix VF Tx queue initialization' " Yuanhan Liu
     [not found]   ` <8E8F16D832DEA44EAC8E3A3C70D1E0C737AB8DBD@CRSMSX101.amr.corp.intel.com>
2016-12-06  1:44     ` Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'net/qede/base: fix 32-bit build' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'net/i40e: fix hash filter on X722' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'net/i40e: fix Rx hang when disable LLDP' " Yuanhan Liu
2016-11-02 10:21 ` [dpdk-stable] patch 'vhost: fix Windows VM hang' " Yuanhan Liu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1478082097-16957-5-git-send-email-yuanhan.liu@linux.intel.com \
    --to=yuanhan.liu@linux.intel.com \
    --cc=jasvinder.singh@intel.com \
    --cc=stable@dpdk.org \
    --cc=tao.y.yang@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).