Subject: Re: bug#70901: 30.0.50; Tramp doesn't use ControlMaster even with (setq tramp-use-connection-share nil)

From: Dmitry Gutov <[email-masked]>
Date: Tue, 14 May 2024 22:02:35 +0300

Hi Michael,

On 14/05/2024 12:01, Michael Albinus wrote:

>>> tramp-use-connection-share can have three different values, t, nil or
>>> `suppress'. And in case it is nil, nothing wrt ControlMaster will be
>>> added to the ssh call.
>>
>> That was the expectation. I experimented with setting ControlMaster
>> settings through tramp-ssh-controlmaster-options as well - to the same
>> effect - but we should probably concentrate on just one scenario in
>> this report.
>>
>>> Could you pls set tramp-verbose to 6, rerun your test, and show the
>>> Tramp debug buffer?
>>
>> Attached, one scenario in an 'emacs -Q'
>> session. tramp-use-connection-share and tramp-verbose are the only two
>> settings there.
>>
>> Hope there's nothing sensitive in here (it's a GNU server).
> 
> No, I don't believe so.
> 
> The Tramp ssh call looks like it should. Tramp doesn't care about
> ControlMaster with your settings:
> 
>> 14:41:04.227455 tramp-maybe-open-connection (3) # Sending command ‘exec ssh -l dgutov -e none fencepost.gnu.org || exit’
>> 14:41:04.227485 tramp-send-command (6) # exec ssh -l dgutov -e none fencepost.gnu.org || exit
>> 14:41:06.037182 tramp-process-actions (6) #
>> Last login: Mon May 13 07:39:46 2024 from 82.102.62.129
>> dgutov@fencepost:~$

Shouldn't it then take advantage of ControlMaster, which has been 
configured for this host?

ssh logs in to the remote server very quickly from the terminal with my 
ControlMaster configuration.

But I don't see any speed improvement in Tramp operations from it. For 
example, I evaluate just 'ls' using M-& (async-shell-command), and the 
time it takes to complete doesn't seem to be affected by the contents of 
my ~/.ssh/config.