<div class="gmail_quote">On Tue, Feb 23, 2010 at 12:55 PM, Eliot Moss <span dir="ltr">&lt;<a href="mailto:moss@cs.umass.edu">moss@cs.umass.edu</a>&gt;</span> wrote:<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
The latest rsync (3.0.7-1) under an up-to-date cygwin</blockquote><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">on Windows 7 x64 gets into some kind of busy wait</blockquote>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">situation when transferring large files over ssh.</blockquote><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
rsync, ssh, and zip can all be consuming much cpu time.</blockquote><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">[...] I downloaded and built rsync 3.0.7 locally, manually<br>

editing config.status to turn off HAVE_SOCKETPAIR.<br>
The resulting rsync works fine.<br></blockquote><div><br></div><div>I&#39;d imagine that both ssh and rsync start using a lot of CPU because the socketpair must be indicating that it is ready for a write (or read) but the actual write() (or read()) fails to return any bytes (as long as errno is something like EAGAIN, EINTR, or EWOULDBLOCK, rsync will try again).  If you want to test that theory, you could add some prints to rsync&#39;s io.c file near the 3 uses of EWOULDBLOCK and have it output what errno it gets.  If you get that fixed, the programs that interface with a socketpair should go back to normal.</div>
<div><br></div></div>..wayne..<br>