X-Recipient: archive-cygwin AT delorie DOT com X-SWARE-Spam-Status: No, hits=1.1 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_NONE,T_FRT_STOCK2 X-Spam-Check-By: sourceware.org From: Johan van den Berg To: marco atzeri CC: "cygwin AT cygwin DOT com" Date: Wed, 4 Jan 2012 21:25:32 +0200 Subject: Re: Building cygwin1.dll Message-ID: References: <95814509-4E08-44C6-8E59-026225EC0FF5 AT playsafesa DOT com> <4F04613B DOT 6050505 AT gmail DOT com> In-Reply-To: <4F04613B.6050505@gmail.com> Content-Type: text/plain; charset="iso-8859-1" MIME-Version: 1.0 X-IsSubscribed: yes Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by delorie.com id q04JQFPM000408 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 > > /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