cygrunsrv + sshd + rsync = 20 times too slow -- throttled?

Corinna Vinschen corinna-cygwin@cygwin.com
Tue Sep 14 11:03:55 GMT 2021


On Sep 14 19:19, Takashi Yano wrote:
> On Tue, 14 Sep 2021 18:56:23 +0900
> Takashi Yano wrote:
> > On Tue, 14 Sep 2021 11:03:39 +0200
> > Corinna Vinschen wrote:
> > > I don't quite follow the argument.  Blocking pipes are using
> > > asynchronous IO, so they are in fact not blocking calls on the
> > > OS level.  After calling NtWriteFile, the blocking variation
> > > will go into the subsequent
> > > 
> > >   waitret = cygwait (evt, INFINITE, cw_cancel | cw_sig);
> > > 
> > > So, wouldn't you get the same effect by keeping the pipe in
> > > FILE_PIPE_QUEUE_OPERATION mode and just add a timeout to the above
> > > cygwait call and handle select_sem in a not yet existing WAIT_TIMEOUT
> > > conditional?
> > 
> > Sounds reasonable. I revised the patches. Do you mean something like
> > patch attached?
> 
> Revised a bit.

Pushed.  I added a bit of text to the commit message in terms of
setting pipes to blocking when exec'ing a non-Cygwin tool.


Thanks,
Corinna


More information about the Cygwin-developers mailing list