[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
02/11: ssh: Speed up RPCs by using #:nodelay.
From: |
guix-commits |
Subject: |
02/11: ssh: Speed up RPCs by using #:nodelay. |
Date: |
Mon, 20 Jul 2020 17:26:10 -0400 (EDT) |
civodul pushed a commit to branch master
in repository guix.
commit e8088f0b06c2193f2cce04a48aa1350229442a9f
Author: Lars-Dominik Braun <ldb@leibniz-psychology.org>
AuthorDate: Mon Jul 20 11:28:51 2020 +0200
ssh: Speed up RPCs by using #:nodelay.
Partly fixes <https://bugs.gnu.org/41702>.
* guix/ssh.scm (open-ssh-session): Enable #:nodelay.
* m4/guix.m4 (GUIX_CHECK_GUILE_SSH): Add feature check for this new
parameter.
* doc/guix.texi (Requirements): Adjust.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
---
doc/guix.texi | 4 ++--
guix/ssh.scm | 6 +++++-
m4/guix.m4 | 6 ++++--
3 files changed, 11 insertions(+), 5 deletions(-)
diff --git a/doc/guix.texi b/doc/guix.texi
index 26ef937..da5a2e2 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -791,11 +791,11 @@ The following dependencies are optional:
@itemize
@item
-@c Note: We need at least 0.12.0 for 'userauth-gssapi!'.
+@c Note: We need at least 0.13.0 for #:nodelay.
Support for build offloading (@pxref{Daemon Offload Setup}) and
@command{guix copy} (@pxref{Invoking guix copy}) depends on
@uref{https://github.com/artyom-poptsov/guile-ssh, Guile-SSH},
-version 0.12.0 or later.
+version 0.13.0 or later.
@item
When @url{https://www.nongnu.org/lzip/lzlib.html, lzlib} is available, lzlib
diff --git a/guix/ssh.scm b/guix/ssh.scm
index 2d7ca7d..b9e6ff8 100644
--- a/guix/ssh.scm
+++ b/guix/ssh.scm
@@ -129,7 +129,11 @@ Throw an error on failure."
;; We need lightweight compression when
;; exchanging full archives.
#:compression compression
- #:compression-level 3)))
+ #:compression-level 3
+
+ ;; Speed up RPCs by creating sockets with
+ ;; TCP_NODELAY.
+ #:nodelay #t)))
;; Honor ~/.ssh/config.
(session-parse-config! session)
diff --git a/m4/guix.m4 b/m4/guix.m4
index 7c27ae7..cce0304 100644
--- a/m4/guix.m4
+++ b/m4/guix.m4
@@ -142,14 +142,16 @@ dnl GUIX_CHECK_GUILE_SSH
dnl
dnl Check whether a recent-enough Guile-SSH is available.
AC_DEFUN([GUIX_CHECK_GUILE_SSH], [
- dnl Check whether 'userauth-gssapi!' (introduced in 0.12.0) is present.
+ dnl Check whether '#:nodelay' paramater to 'make-session' (introduced in
+ dnl 0.13.0) is present.
AC_CACHE_CHECK([whether Guile-SSH is available and recent enough],
[guix_cv_have_recent_guile_ssh],
[GUILE_CHECK([retval],
[(and (@ (ssh channel) channel-send-eof)
(@ (ssh popen) open-remote-pipe)
(@ (ssh dist node) node-eval)
- (@ (ssh auth) userauth-gssapi!))])
+ (@ (ssh auth) userauth-gssapi!)
+ ((@ (ssh session) make-session) #:nodelay #t))])
if test "$retval" = 0; then
guix_cv_have_recent_guile_ssh="yes"
else
- branch master updated (4874cae -> 64066ab), guix-commits, 2020/07/20
- 07/11: download: Add Savannah mirror., guix-commits, 2020/07/20
- 10/11: json: Re-export 'define-json-mapping' from (json) when available., guix-commits, 2020/07/20
- 09/11: gnu-maintenance: 'kernel.org' and 'savannah' updaters rewrite URLs., guix-commits, 2020/07/20
- 01/11: gnu: guile-ssh: Update to 0.13.0., guix-commits, 2020/07/20
- 11/11: gnu: python-aionotify: Fix test cases with Python 3.8., guix-commits, 2020/07/20
- 03/11: pack: 'self-contained-tarball' runs derivation in a UTF-8local., guix-commits, 2020/07/20
- 02/11: ssh: Speed up RPCs by using #:nodelay.,
guix-commits <=
- 05/11: gnu-maintenance: 'latest-html-release' honors #:file->signature., guix-commits, 2020/07/20
- 04/11: pack: Build the store database under a UTF-8 locale., guix-commits, 2020/07/20
- 06/11: gnu-maintenance: Add 'savannah' updater., guix-commits, 2020/07/20
- 08/11: upstream: Use 'warning' instead of 'format'., guix-commits, 2020/07/20