GNU bug report logs - #70901
30.0.50; Tramp doesn't use ControlMaster even with (setq tramp-use-connection-share nil)

Previous Next

Package: emacs;

Reported by: Dmitry Gutov <dmitry <at> gutov.dev>

Date: Mon, 13 May 2024 02:01:02 UTC

Severity: normal

Found in version 30.0.50

Fixed in version 30.1

Done: Michael Albinus <michael.albinus <at> gmx.de>

Bug is archived. No further changes may be made.

Full log


Message #35 received at 70901 <at> debbugs.gnu.org (full text, mbox):

From: Dmitry Gutov <dmitry <at> gutov.dev>
To: Michael Albinus <michael.albinus <at> gmx.de>
Cc: 70901 <at> debbugs.gnu.org
Subject: Re: bug#70901: 30.0.50; Tramp doesn't use ControlMaster even with
 (setq tramp-use-connection-share nil)
Date: Thu, 16 May 2024 22:50:20 +0300
Hi Michael,

On 16/05/2024 12:42, Michael Albinus wrote:

> If we want to go into detail, we need a clean testbed. In your tests, I
> don't know whether another connection already exists which Tramp could
> reuse due to your ControlMaster settings.

Like I said, it does: in the background terminal I'm using ssh with the 
same connection. But you could probably replicate the experiment without 
much trouble. Do you have access to fencepost?

> And we need to separate the
> time the "ssh ..." call takes inside Tramp, from the other time when
> Tramp does some roundtrips for the initialization. We must count the
> time Tramp needs when tramp-verbose has a higher level. Etc pp.

I could insert some (benchmark-progn ...) forms at your direction 
instead, to measure some blocks in the code. That's often a more 
expedient investigation tool.

> Do we need this? We have seen that Tramp doesn't touch Control* options
> when you set tramp-use-connection-share to nil. And that's what this bug
> report is about.

My question is, shouldn't ControlMaster be able to speed the process up, 
at least somewhat? The complaint isn't that the operation remains 
somewhat slow (though it does), but that I'm not seeing any 
statistically significant improvement from ControlMaster - which should 
seemingly be used and useful.

I'm planning to write a small article with recommendations on how to 
configure Tramp for performance in a common setup, with the options and 
explanations.

One of them does (the "direct async") - but as documented, it has some 
problems. One I've already mentioned but am yet to file a bug. Another 
is yet trickier: the REPL prompt is not rendered (IRB prompt when 
invoked inside RSpec runner - the details might not matter) with "direct 
async" but it's shown fine without "direct async". This second one, 
naturally, is harder to explain and (maybe) produce a reduced test case.

So I'm thinking if the ControlMaster can produce at least a part of this 
improvement, it should be the first recommendation in the article.




This bug report was last modified 1 year and 56 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.