drbd: trigger tcp_push_pending_frames() for PING and PING_ACK
This should reduce latency for such in-DRBD-protocol "pings", and may help reduce spurious disconnect/reconnect cycles due to "PingAck did not arrive in time." Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com> Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
This commit is contained in:
Родитель
66ce6dbce2
Коммит
123ff122ad
|
@ -662,6 +662,11 @@ static int __send_command(struct drbd_connection *connection, int vnr,
|
|||
msg_flags);
|
||||
if (data && !err)
|
||||
err = drbd_send_all(connection, sock->socket, data, size, 0);
|
||||
/* DRBD protocol "pings" are latency critical.
|
||||
* This is supposed to trigger tcp_push_pending_frames() */
|
||||
if (!err && (cmd == P_PING || cmd == P_PING_ACK))
|
||||
drbd_tcp_nodelay(sock->socket);
|
||||
|
||||
return err;
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче