linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Santosh Shilimkar <santosh.shilimkar@oracle.com>
To: netdev@vger.kernel.org
Cc: linux-rdma@vger.kernel.org, davem@davemloft.net,
	linux-kernel@vger.kernel.org, ssantosh@kernel.org,
	Santosh Shilimkar <santosh.shilimkar@oracle.com>
Subject: [PATCH v2 05/14] RDS: defer the over_batch work to send worker
Date: Wed, 30 Sep 2015 13:24:24 -0400	[thread overview]
Message-ID: <1443633873-13359-6-git-send-email-santosh.shilimkar@oracle.com> (raw)
In-Reply-To: <1443633873-13359-1-git-send-email-santosh.shilimkar@oracle.com>

Current process gives up if its send work over the batch limit.
The work queue will get  kicked to finish off any other requests.
This fixes remainder condition from commit 443be0e5affe ("RDS: make
sure not to loop forever inside rds_send_xmit").

The restart condition is only for the case where we reached to
over_batch code for some other reason so just retrying again
before giving up.

Signed-off-by: Santosh Shilimkar <ssantosh@kernel.org>
Signed-off-by: Santosh Shilimkar <santosh.shilimkar@oracle.com>
---
 net/rds/send.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/net/rds/send.c b/net/rds/send.c
index 4df61a5..f1e709c 100644
--- a/net/rds/send.c
+++ b/net/rds/send.c
@@ -423,7 +423,9 @@ over_batch:
 		     !list_empty(&conn->c_send_queue)) &&
 		    send_gen == conn->c_send_gen) {
 			rds_stats_inc(s_send_lock_queue_raced);
-			goto restart;
+			if (batch_count < 1024)
+				goto restart;
+			queue_delayed_work(rds_wq, &conn->c_send_w, 1);
 		}
 	}
 out:
-- 
1.9.1


  parent reply	other threads:[~2015-09-30 17:31 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-09-30 17:24 [PATCH v2 00/14] RDS: connection scalability and performance improvements Santosh Shilimkar
2015-09-30 17:24 ` [PATCH v2 01/14] RDS: use kfree_rcu in rds_ib_remove_ipaddr Santosh Shilimkar
2015-09-30 17:24 ` [PATCH v2 02/14] RDS: make socket bind/release locking scheme simple and more efficient Santosh Shilimkar
2015-09-30 17:24 ` [PATCH v2 03/14] RDS: fix rds_sock reference bug while doing bind Santosh Shilimkar
2015-09-30 17:24 ` [PATCH v2 04/14] RDS: Use per-bucket rw lock for bind hash-table Santosh Shilimkar
2015-09-30 17:24 ` Santosh Shilimkar [this message]
2015-10-05 10:30   ` [PATCH v2 05/14] RDS: defer the over_batch work to send worker David Miller
2015-10-05 15:31     ` santosh shilimkar
2015-09-30 17:24 ` [PATCH v2 06/14] RDS: use rds_send_xmit() state instead of RDS_LL_SEND_FULL Santosh Shilimkar
2015-09-30 17:24 ` [PATCH v2 07/14] RDS: IB: ack more receive completions to improve performance Santosh Shilimkar
2015-09-30 17:24 ` [PATCH v2 08/14] RDS: IB: split send completion handling and do batch ack Santosh Shilimkar
2015-09-30 17:24 ` [PATCH v2 09/14] RDS: IB: handle rds_ibdev release case instead of crashing the kernel Santosh Shilimkar
2015-09-30 17:24 ` [PATCH v2 10/14] RDS: IB: fix the rds_ib_fmr_wq kick call Santosh Shilimkar
2015-09-30 17:24 ` [PATCH v2 11/14] RDS: IB: use already available pool handle from ibmr Santosh Shilimkar
2015-09-30 17:24 ` [PATCH v2 12/14] RDS: IB: mark rds_ib_fmr_wq static Santosh Shilimkar
2015-09-30 17:24 ` [PATCH v2 13/14] RDS: IB: use max_mr from HCA caps than max_fmr Santosh Shilimkar
2015-09-30 17:24 ` [PATCH v2 14/14] RDS: IB: split mr pool to improve 8K messages performance Santosh Shilimkar
2015-10-01 16:19 ` [PATCH v2 00/14] RDS: connection scalability and performance improvements David Laight
2015-10-01 19:00   ` santosh.shilimkar

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=1443633873-13359-6-git-send-email-santosh.shilimkar@oracle.com \
    --to=santosh.shilimkar@oracle.com \
    --cc=davem@davemloft.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-rdma@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=ssantosh@kernel.org \
    /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).