summaryrefslogtreecommitdiffstats
path: root/fs/dlm/lowcomms.h
diff options
context:
space:
mode:
authorAlexander Aring <aahringo@redhat.com>2021-08-18 22:27:13 +0200
committerDavid Teigland <teigland@redhat.com>2021-08-19 18:33:03 +0200
commitb97f85259fca5accc2cd5f7c4f42fa0dd8efda48 (patch)
tree91f896eae2a68983572882e97082a3771ec7aed3 /fs/dlm/lowcomms.h
parentfs: dlm: move receive loop into receive handler (diff)
downloadlinux-b97f85259fca5accc2cd5f7c4f42fa0dd8efda48.tar.xz
linux-b97f85259fca5accc2cd5f7c4f42fa0dd8efda48.zip
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.h')
-rw-r--r--fs/dlm/lowcomms.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/dlm/lowcomms.h b/fs/dlm/lowcomms.h
index aaae7115c00d..4ccae07cf005 100644
--- a/fs/dlm/lowcomms.h
+++ b/fs/dlm/lowcomms.h
@@ -46,6 +46,7 @@ int dlm_lowcomms_resend_msg(struct dlm_msg *msg);
int dlm_lowcomms_connect_node(int nodeid);
int dlm_lowcomms_nodes_set_mark(int nodeid, unsigned int mark);
int dlm_lowcomms_addr(int nodeid, struct sockaddr_storage *addr, int len);
+void dlm_midcomms_receive_done(int nodeid);
#endif /* __LOWCOMMS_DOT_H__ */