diff options
author | David S. Miller <davem@davemloft.net> | 2022-03-03 10:34:18 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2022-03-03 10:34:18 +0000 |
commit | f8e9bd34cedd89b93b1167aa32ab8ecd6c2ccf4a (patch) | |
tree | 6db678f595f933650aba423b27ccdcf0a010810e /net/bluetooth | |
parent | bd6f1fd5d33dfe5d1b4f2502d3694a7cc13f166d (diff) | |
parent | 4940a1fdf31c39f0806ac831cde333134862030b (diff) |
Merge branch 'smc-fix'
D. Wythe says:
====================
fix unexpected SMC_CLC_DECL_ERR_REGRMB error
We can easily trigger the SMC_CLC_DECL_ERR_REGRMB exception within
following script:
server: smc_run nginx
client: smc_run ./wrk -c 2000 -t 8 -d 20 http://smc-server
And we can clearly see that this error is also divided into two types:
1. 0x09990003
2. 0x05000000/0x09990003
Which has the same root causes, but the immediate causes vary.
The root cause of this issues is that remove connections from link group
is not synchronous with add/delete rtoken entry, which means that even
the number of connections is less that SMC_RMBS_PER_LGR_MAX, it does not
mean that the connection can register rtoken successfully later. In
other words, the rtoken entry may released, This will cause an
unexpected SMC_CLC_DECL_ERR_REGRMB to be reported, and then this SMC
connections have to fallback to TCP.
This patch set handles two types of SMC_CLC_DECL_ERR_REGRMB exceptions
from different perspectives.
Patch 1: fix the 0x05000000/0x09990003 error.
Patch 2: fix the 0x09990003 error.
After those patches, there is no SMC_CLC_DECL_ERR_REGRMB exceptions in
my
test case any more.
v1 -> v2:
- add bugfix patch for SMC_CLC_DECL_ERR_REGRMB cause by server side
v2 -> v3:
- fix incorrect mail thread
====================
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/bluetooth')
0 files changed, 0 insertions, 0 deletions