diff options
author | Alexander Aring <aahringo@redhat.com> | 2021-08-18 16:27:13 -0400 |
---|---|---|
committer | David Teigland <teigland@redhat.com> | 2021-08-19 11:33:03 -0500 |
commit | b97f85259fca5accc2cd5f7c4f42fa0dd8efda48 (patch) | |
tree | 91f896eae2a68983572882e97082a3771ec7aed3 /fs/dlm/lowcomms.c | |
parent | 62699b3f0a62435fceb8debf295e90a5ea259e04 (diff) | |
download | linux-next-b97f85259fca5accc2cd5f7c4f42fa0dd8efda48.tar.gz |
fs: dlm: implement delayed ack handling
This patch changes that we don't ack each message. Lowcomms will take
care about to send an ack back after a bulk of messages was processed.
Currently it's only when the whole receive buffer was processed, there
might better positions to send an ack back but only the lowcomms
implementation know when there are more data to receive. This patch has
also disadvantages that we might retransmit more on errors, however this
is a very rare case.
Tested with make_panic on gfs2 with three nodes by running:
trace-cmd record -p function -l 'dlm_send_ack' sleep 100
and
trace-cmd report | wc -l
Before patch:
- 20548
- 21376
- 21398
After patch:
- 18338
- 20679
- 19949
Signed-off-by: Alexander Aring <aahringo@redhat.com>
Signed-off-by: David Teigland <teigland@redhat.com>
Diffstat (limited to 'fs/dlm/lowcomms.c')
-rw-r--r-- | fs/dlm/lowcomms.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/dlm/lowcomms.c b/fs/dlm/lowcomms.c index cce1d50aa09f..8f715c620e1f 100644 --- a/fs/dlm/lowcomms.c +++ b/fs/dlm/lowcomms.c @@ -947,6 +947,7 @@ static int receive_from_sock(struct connection *con) } } + dlm_midcomms_receive_done(con->nodeid); mutex_unlock(&con->sock_mutex); return 0; |