Gitweb:
https://git.exim.org/exim.git/commitdiff/68f71b94cc10f8b0453597d0f92b4bd7d995eeef
Commit: 68f71b94cc10f8b0453597d0f92b4bd7d995eeef
Parent: 83e8da8c07f783c7d677166940be3fc9b3f7d0ab
Author: Jeremy Harris <jgh146exb@???>
AuthorDate: Sat May 9 15:04:17 2020 +0100
Committer: Jeremy Harris <jgh146exb@???>
CommitDate: Sat May 9 15:04:17 2020 +0100
Performance: workaround Linux kernel bug
---
src/src/smtp_out.c | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/src/src/smtp_out.c b/src/src/smtp_out.c
index 6f7fb85..86c3e41 100644
--- a/src/src/smtp_out.c
+++ b/src/src/smtp_out.c
@@ -509,6 +509,16 @@ else
0
#endif
);
+
+#if defined(__linux__)
+ /* This is a workaround for a current linux kernel bug: as of
+ 5.6.8-200.fc31.x86_64 small (<MSS) writes get delayed by about 200ms,
+ This is despite NODELAY being active.
+ https://bugzilla.redhat.com/show_bug.cgi?id=1803806 */
+
+ if (!more)
+ setsockopt(outblock->cctx->sock, IPPROTO_TCP, TCP_CORK, &off, sizeof(off));
+#endif
}
}