diff mbox series

[net-next,4/7] net/smc: send directly on setting TCP_NODELAY

Message ID 20220301094402.14992-5-dust.li@linux.alibaba.com (mailing list archive)
State Not Applicable
Headers show
Series net/smc: some datapath performance optimizations | expand

Commit Message

Dust Li March 1, 2022, 9:43 a.m. UTC
In commit ea785a1a573b("net/smc: Send directly when
TCP_CORK is cleared"), we don't use delayed work
to implement cork.

This patch use the same algorithm, removes the
delayed work when setting TCP_NODELAY and send
directly in setsockopt(). This also makes the
TCP_NODELAY the same as TCP.

Cc: Tony Lu <tonylu@linux.alibaba.com>
Signed-off-by: Dust Li <dust.li@linux.alibaba.com>
---
 net/smc/af_smc.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
diff mbox series

Patch

diff --git a/net/smc/af_smc.c b/net/smc/af_smc.c
index 19b3066cf7af..e661b3747945 100644
--- a/net/smc/af_smc.c
+++ b/net/smc/af_smc.c
@@ -2796,8 +2796,8 @@  static int smc_setsockopt(struct socket *sock, int level, int optname,
 		    sk->sk_state != SMC_CLOSED) {
 			if (val) {
 				SMC_STAT_INC(smc, ndly_cnt);
-				mod_delayed_work(smc->conn.lgr->tx_wq,
-						 &smc->conn.tx_work, 0);
+				smc_tx_pending(&smc->conn);
+				cancel_delayed_work(&smc->conn.tx_work);
 			}
 		}
 		break;