mbox series

[SRU,F,G,0/1] smc: SMC connections hang with later-level implementations (LP: 1882088)

Message ID 20200710192145.203558-1-frank.heimes@canonical.com
Headers show
Series smc: SMC connections hang with later-level implementations (LP: 1882088) | expand

Message

Frank Heimes July 10, 2020, 7:21 p.m. UTC
Buglink: https://bugs.launchpad.net/bugs/1882088

SRU Justification:

[Impact]

* Connections from later-level SMC (protocol) versions to an SMC-enabled server on Linux hang.

* Later-level versions of SMC (although backwards-compatible) present a higher version number and use larger messages during the CLC handshake.

* The solution to avoid such hangs is to introduce toleration for later version numbers, and support CLC messages of arbitrary length.

[Fix]

* fb4f79264c0fc6fd5a68ffe3e31bfff97311e1f1 fb4f79264c0f "net/smc: tolerate future SMCD versions"

[Test Case]

* Requires two IBM z13/z13s GA2 or LinuxONE Rockhopper/Emperor systems with RoCE Express adapter v2(.1) for SMC-D usage.

* One system needs to run the initial SMC-D version, the other a newer version.

* Establish a connection between both system and monitor/verify if it's reliable or if it hangs.

[Regression Potential]

* The regression can be considered as medium to low:

* Since SMC-D is a pretty special way of doing shared memory communications and not that wide-spread.

* However, the code that is changed is common code.

* But the patch is straight forward and only modifies /net/smc/smc_clc.c and /net/smc/smc_clc.h

* It largely bumps limits (allows larger messages), adds a check and introduces toleration, rather than changing control or flow.

[Other]

* The above fix is currently in 'linux-next' and tagged with next-20200709.

* It is still assumed that it gets accepted for 5.8.

* However, since this is not guaranteed this SRU request is for focal and groovy - to make sure that no potential regressions are introduced in case the patch will not end up in 5.8.

Ursula Braun (1):
  From: Ursula Braun <ubraun@linux.ibm.com>

 net/smc/smc_clc.c | 45 ++++++++++++++++++++++++++++++++-------------
 net/smc/smc_clc.h |  4 ++++
 2 files changed, 36 insertions(+), 13 deletions(-)

Comments

Seth Forshee July 17, 2020, 10:30 p.m. UTC | #1
On Fri, Jul 10, 2020 at 09:21:44PM +0200, frank.heimes@canonical.com wrote:
> Buglink: https://bugs.launchpad.net/bugs/1882088
> 
> SRU Justification:
> 
> [Impact]
> 
> * Connections from later-level SMC (protocol) versions to an SMC-enabled server on Linux hang.
> 
> * Later-level versions of SMC (although backwards-compatible) present a higher version number and use larger messages during the CLC handshake.
> 
> * The solution to avoid such hangs is to introduce toleration for later version numbers, and support CLC messages of arbitrary length.
> 
> [Fix]
> 
> * fb4f79264c0fc6fd5a68ffe3e31bfff97311e1f1 fb4f79264c0f "net/smc: tolerate future SMCD versions"
> 
> [Test Case]
> 
> * Requires two IBM z13/z13s GA2 or LinuxONE Rockhopper/Emperor systems with RoCE Express adapter v2(.1) for SMC-D usage.
> 
> * One system needs to run the initial SMC-D version, the other a newer version.
> 
> * Establish a connection between both system and monitor/verify if it's reliable or if it hangs.
> 
> [Regression Potential]
> 
> * The regression can be considered as medium to low:
> 
> * Since SMC-D is a pretty special way of doing shared memory communications and not that wide-spread.
> 
> * However, the code that is changed is common code.
> 
> * But the patch is straight forward and only modifies /net/smc/smc_clc.c and /net/smc/smc_clc.h
> 
> * It largely bumps limits (allows larger messages), adds a check and introduces toleration, rather than changing control or flow.
> 
> [Other]
> 
> * The above fix is currently in 'linux-next' and tagged with next-20200709.
> 
> * It is still assumed that it gets accepted for 5.8.
> 
> * However, since this is not guaranteed this SRU request is for focal and groovy - to make sure that no potential regressions are introduced in case the patch will not end up in 5.8.

The patch has already landed in 5.8. Applied to the unstable 5.7 branch,
thanks!
Kelsey Skunberg Aug. 3, 2020, 7:20 p.m. UTC | #2
Applied to Focal/master-next. Thank you! 

-Kelsey

On 2020-07-10 21:21:44 , frank.heimes@canonical.com wrote:
> Buglink: https://bugs.launchpad.net/bugs/1882088
> 
> SRU Justification:
> 
> [Impact]
> 
> * Connections from later-level SMC (protocol) versions to an SMC-enabled server on Linux hang.
> 
> * Later-level versions of SMC (although backwards-compatible) present a higher version number and use larger messages during the CLC handshake.
> 
> * The solution to avoid such hangs is to introduce toleration for later version numbers, and support CLC messages of arbitrary length.
> 
> [Fix]
> 
> * fb4f79264c0fc6fd5a68ffe3e31bfff97311e1f1 fb4f79264c0f "net/smc: tolerate future SMCD versions"
> 
> [Test Case]
> 
> * Requires two IBM z13/z13s GA2 or LinuxONE Rockhopper/Emperor systems with RoCE Express adapter v2(.1) for SMC-D usage.
> 
> * One system needs to run the initial SMC-D version, the other a newer version.
> 
> * Establish a connection between both system and monitor/verify if it's reliable or if it hangs.
> 
> [Regression Potential]
> 
> * The regression can be considered as medium to low:
> 
> * Since SMC-D is a pretty special way of doing shared memory communications and not that wide-spread.
> 
> * However, the code that is changed is common code.
> 
> * But the patch is straight forward and only modifies /net/smc/smc_clc.c and /net/smc/smc_clc.h
> 
> * It largely bumps limits (allows larger messages), adds a check and introduces toleration, rather than changing control or flow.
> 
> [Other]
> 
> * The above fix is currently in 'linux-next' and tagged with next-20200709.
> 
> * It is still assumed that it gets accepted for 5.8.
> 
> * However, since this is not guaranteed this SRU request is for focal and groovy - to make sure that no potential regressions are introduced in case the patch will not end up in 5.8.
> 
> Ursula Braun (1):
>   From: Ursula Braun <ubraun@linux.ibm.com>
> 
>  net/smc/smc_clc.c | 45 ++++++++++++++++++++++++++++++++-------------
>  net/smc/smc_clc.h |  4 ++++
>  2 files changed, 36 insertions(+), 13 deletions(-)
> 
> -- 
> 2.25.1
> 
> 
> -- 
> kernel-team mailing list
> kernel-team@lists.ubuntu.com
> https://lists.ubuntu.com/mailman/listinfo/kernel-team