linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Stefan Raspl <raspl@linux.ibm.com>
To: Guangguan Wang <guangguan.wang@linux.alibaba.com>,
	kgraul@linux.ibm.com, davem@davemloft.net, kuba@kernel.org
Cc: linux-s390@vger.kernel.org, netdev@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: Re: [RFC PATCH net-next] net/smc: Introduce receive queue flow control support
Date: Tue, 25 Jan 2022 10:42:05 +0100	[thread overview]
Message-ID: <1f13f001-e4d7-fdcd-6575-caa1be1526e1@linux.ibm.com> (raw)
In-Reply-To: <20220120065140.5385-1-guangguan.wang@linux.alibaba.com>

On 1/20/22 07:51, Guangguan Wang wrote:
> This implement rq flow control in smc-r link layer. QPs
> communicating without rq flow control, in the previous
> version, may result in RNR (reveive not ready) error, which
> means when sq sends a message to the remote qp, but the
> remote qp's rq has no valid rq entities to receive the message.
> In RNR condition, the rdma transport layer may retransmit
> the messages again and again until the rq has any entities,
> which may lower the performance, especially in heavy traffic.
> Using credits to do rq flow control can avoid the occurrence
> of RNR.

That's some truly substantial improvements!
But we need to be careful with protocol-level changes: There are other operating 
systems like z/OS and AIX which have compatible implementations of SMC, too. 
Changes like a reduction of connections per link group or usage of reserved 
fields would need to be coordinated, and likely would have unwanted side-effects 
even when used with older Linux kernel versions.
Changing the protocol is "expensive" insofar as it requires time to thoroughly 
discuss the changes, perform compatibility tests, and so on.
So I would like to urge you to investigate alternative ways that do not require 
protocol-level changes to address this scenario, e.g. by modifying the number of 
completion queue elements, to see if this could yield similar results.

Thx!






  parent reply	other threads:[~2022-01-25  9:48 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-20  6:51 [RFC PATCH net-next] net/smc: Introduce receive queue flow control support Guangguan Wang
2022-01-20  8:24 ` Leon Romanovsky
2022-01-20  9:20   ` Guangguan Wang
2022-01-20  9:51 ` dust.li
2022-01-21 16:21   ` Guangguan Wang
2022-01-20 11:03 ` Karsten Graul
2022-01-21 16:36   ` Guangguan Wang
2022-01-20 14:22 ` Tony Lu
2022-01-21 16:48   ` Guangguan Wang
2022-01-25  9:42 ` Stefan Raspl [this message]
2022-01-29  3:43   ` Guangguan Wang
2022-01-29  4:24     ` Tony Lu
2022-01-31 12:56     ` Karsten Graul

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=1f13f001-e4d7-fdcd-6575-caa1be1526e1@linux.ibm.com \
    --to=raspl@linux.ibm.com \
    --cc=davem@davemloft.net \
    --cc=guangguan.wang@linux.alibaba.com \
    --cc=kgraul@linux.ibm.com \
    --cc=kuba@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-s390@vger.kernel.org \
    --cc=netdev@vger.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).