I am very happy to report that increasing the send and receive buffers has done the job (at least, on a 10MBit link but will be testing a 100Mbit in a few days). I calculated the ideal size as per http://www.ibm.com/developerworks/linux/library/l-hisock/index.html
$ diff -u cygwin-snapshot-20111222-1/winsup/cygwin/net.cc.orig cygwin-snapshot-20111222-1/winsup/cygwin/net.cc --- cygwin-snapshot-20111222-1/winsup/cygwin/net.cc.orig 2012-01-04 06:56:22.094250000 -0500 +++ cygwin-snapshot-20111222-1/winsup/cygwin/net.cc 2012-01-04 07:10:14.031750000 -0500 @@ -569,8 +569,12 @@ be nice, though. (*) Maximum normal TCP window size. Coincidence? */ - ((fhandler_socket *) fd)->rmem () = 65535; - ((fhandler_socket *) fd)->wmem () = 65535; + + /* JVDB - 64K is too small for our 100mb link with 200ms latency. Bumped to 2MB + See http://www.ibm.com/developerworks/linux/library/l-hisock/index.html */ + + ((fhandler_socket *) fd)->rmem () = 2097152; + ((fhandler_socket *) fd)->wmem () = 2097152; if (::setsockopt (soc, SOL_SOCKET, SO_RCVBUF, (char *) &((fhandler_socket *) fd)->rmem (), sizeof (int))) { Thank you very much for the help! Kind regards Johan On 04 Jan 2012, at 4:24 PM, marco atzeri wrote: > On 1/4/2012 2:49 PM, Johan van den Berg wrote: >> Any pointers on how to compile cygwin1.dll? I installed cygwin latest onto a >> windows machine, installed all the prerequisites as per faq (gcc perl et >> al), downloaded a snapshot, configured and maked but keep running into >> compile errors. >> >> There is no mention in the docs regarding version of gcc required, >> possibility of using gcc as supplied by cygwin or mingw, etc. >> I am trying to build a custom cygwin1.dll to test >> http://cygwin.com/ml/cygwin/2011-12/msg00337.html >> I have set the send and receive buffers to 256k so that I can get transfer >> speeds up on a high latency rsync copy from one cygwin windows to another >> cygwin windows box with over 300ms latency between the two, but a 100mbit >> bandwidth >> I tested with a previous version (very old) of cygwin that had the buffers >> at 8k and that caused the transfer speeds to go down to next to nothing, so >> the theory seems sound that increasing the buffers should increase the >> amount of packets that can be sent without receiving an ack. >> I have already patched the code, now I just need to figure out how to >> actually build cygwin, and 3 hours worth of google + reading of cygwin >> mailing lists have been fruitless. >> >> The error I get when trying to compile using the default cygwin install of >> gcc and tools: >> >> ... lots of successful compiles, and then: >> make[5]: Entering directory >> `/home/DBA/cygwin-build/cygwin-snapshot-20111222-1/build/i686-pc-cygwin/newlib/libc/locale' >> gcc >> -L/home/DBA/cygwin-build/cygwin-snapshot-20111222-1/build/i686-pc-cygwin/winsup >> >> -L/home/DBA/cygwin-build/cygwin-snapshot-20111222-1/build/i686-pc-cygwin/winsup/cygwin >> >> -L/home/DBA/cygwin-build/cygwin-snapshot-20111222-1/build/i686-pc-cygwin/winsup/w32api/lib >> -isystem /home/DBA/cygwin-build/cygwin-snapshot-20111222-1/winsup/include >> -isystem >> /home/DBA/cygwin-build/cygwin-snapshot-20111222-1/winsup/cygwin/include >> -isystem >> /home/DBA/cygwin-build/cygwin-snapshot-20111222-1/winsup/w32api/include >> -B/home/DBA/cygwin-build/cygwin-snapshot-20111222-1/build/i686-pc-cygwin/newlib/ >> -isystem >> /home/DBA/cygwin-build/cygwin-snapshot-20111222-1/build/i686-pc-cygwin/newlib/targ-include >> -isystem >> /home/DBA/cygwin-build/cygwin-snapshot-20111222-1/newlib/libc/include >> -I/home/DBA/cygwin-build/cygwin-snapshot-20111222-1/winsup/cygwin/include >> -DPACKAGE_NAME=\"newlib\" -DPACKAGE_TARNAME=\"newlib\" >> -DPACKAGE_VERSION=\"1.20.0\" -DPACKAGE_STRING=\"newlib\ 1.20.0\" >> -DPACKAGE_BUGREPORT=\"\" -DPACKA > GE_URL=\"\" -I. -I../../../../../newlib/libc/locale -DHAVE_OPENDIR > -DHAVE_RENAME -DSIGNAL_PROVIDED -D_COMPILING_NEWLIB -DHAVE_BLKSIZE > -DHAVE_FCNTL -DMALLOC_PROVIDED -fno-builtin -g -O2 -c -o > lib_a-nl_langinfo.o `test -f 'nl_langinfo.c' || echo > '../../../../../newlib/libc/locale/'`nl_langinfo.c >> ../../../../../newlib/libc/locale/nl_langinfo.c:66: error: parse error >> before "struct" >> ../../../../../newlib/libc/locale/nl_langinfo.c:66: error: `outdigits' >> undeclared here (not in a function) >> ../../../../../newlib/libc/locale/nl_langinfo.c:66: error: initializer >> element is not constant >> ../../../../../newlib/libc/locale/nl_langinfo.c:66: error: (near >> initialization for `nl_ext[0].offset') >> ../../../../../newlib/libc/locale/nl_langinfo.c:66: error: parse error >> before ')' token >> ../../../../../newlib/libc/locale/nl_langinfo.c:66: error: initializer >> element is not constant >> ../../../../../newlib/libc/locale/nl_langinfo.c:66: error: (near >> initialization for `nl_ext[0]') >> .... and many more similar complaints. >> >> Johan van den Berg > > hi John, > > gcc and g++ version 4.5.3 (GCC) > as provided by cygwin packages > > gcc4-core 4.5.3-3 > gcc4-g++ 4.5.3-3 > > usually this is enough for building > > <source_path>/configure > make > > Regards > Marco > > > > -- > Problem reports: http://cygwin.com/problems.html > FAQ: http://cygwin.com/faq/ > Documentation: http://cygwin.com/docs.html > Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple > -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple