From: Guangguan Wang <guangguan.wang@linux.alibaba.com>
To: dust.li@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: Sat, 22 Jan 2022 00:21:45 +0800 [thread overview]
Message-ID: <6f1b9813-483b-ea2e-f6da-c349edd34003@linux.alibaba.com> (raw)
In-Reply-To: <20220120095130.GB41938@linux.alibaba.com>
On 2022/1/20 17:51, dust.li wrote:
> On Thu, Jan 20, 2022 at 02:51:40PM +0800, 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.
>
> I'm wondering if SRQ can be used to solve this problem ?
>
> One of my concern on credit-base flow control is if the RTT is
> a bit longer, we may have to wait RTT/2 for peer to grant us credit
> before we can really send more data. That may decrease the maximium
> bandwidth we can achive in this case.
Longer RTT can result in more inflight messages and increase
the announcement latency indeed.
The following items are used in this patch to reduce the pact
of this situation.
- More rqe. (average 2 credits per smc_connection now, longer RTT is
a good case for me to check whether an average of 2 is enough. As
each additional rqe only increases the memory by 104 Bytes,
SRQ may be an icing on the cake option to reduce memory usage)
- Announce frequenly. (credits carried by every cdc msg)
- Avoid credit accumulation. (announce as soon as the low watermark(1/3 rq entities) is reached)
next prev parent reply other threads:[~2022-01-21 16:22 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 [this message]
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
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=6f1b9813-483b-ea2e-f6da-c349edd34003@linux.alibaba.com \
--to=guangguan.wang@linux.alibaba.com \
--cc=davem@davemloft.net \
--cc=dust.li@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