X-Recipient: archive-cygwin AT delorie DOT com X-Spam-Check-By: sourceware.org Message-ID: <48195BCB.40201@cwilson.fastmail.fm> Date: Thu, 01 May 2008 01:57:31 -0400 From: Charles Wilson User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.8.1.12) Gecko/20080213 Thunderbird/2.0.0.12 Mnenhy/0.7.5.666 MIME-Version: 1.0 To: cygwin AT cygwin DOT com Subject: Re: inetutils 1.5 / ftpd problem: 426 Data connection: No buffer space available. References: <3ee066b40804292141k764cb66al5ac97c6fb8111bb AT mail DOT gmail DOT com> <48180A91 DOT 5080001 AT cwilson DOT fastmail DOT fm> <20080430085035 DOT GM23852 AT calimero DOT vinschen DOT de> In-Reply-To: <20080430085035.GM23852@calimero.vinschen.de> Content-Type: multipart/mixed; boundary="------------060203070109030302080906" 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 --------------060203070109030302080906 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Corinna Vinschen wrote: > On Apr 30 01:58, Charles Wilson wrote: >> Well, one of the differences between ftpd-1.3.2 and ftpd-1.5 is that the >> newer version uses mmap on the (local) file. ftpd.c is the /only/ source >> file in inetutils that uses mmap. > > Ok, so the ftpd using mmap is faster, one way or another. Not according to my numbers: mmap, topo 1, 4k buffers: 9-10 Mbps mmap, topo 2, 4k buffers: 14-15 Mbps NO mmap, topo 1, 4k bufs: 9-10 Mbps NO mmap, topo 2, 4k bufs: 14-15 Mbps >> If [disabling mmap] *does* fix the problem, it may point to an issue with cygwin-1.5's >> mmap implementation, or with XP's handling of the underlying >> NtCreateSection()...mmap is not supposed to be CPU-intensive. > > There might be a bug lurking somewhere. Could you create a very simple > testcase which basically behaves like ftpd for debugging? attached. gcc -o server server.c gcc -o client client.c Add an entry to /etc/services on both machines, like: example 22725/tcp or you could edit the two files and use a hardcoded port number, instead of a service name and getservbyname() And don't forget to open a hole in your server machine's firewall for that port. On the server machine, invoke as: $ server This file is the one that will be transferred to the client. This works for me: $ dd if=/dev/urandom of=ReallyBigFile bs=1M count=250 On the client: $ client is where the client will save the transferred data. server is a traditional daemon, which forks off a copy to handle each new connection. That copy is the one you want to debug/strace/whatever. With this pair of programs, I saw "sane" memory usage in all cases when NOT using mmap, and I saw "insane" memory usage for all mmap cases except when blocksize was 1k. To switch among the various cases, edit the server.c file to #define/#undef HAVE_MMAP, and change the value of LARGE_TRANSFER_BLOCKSIZE. -- Chuck --------------060203070109030302080906 Content-Type: application/octet-stream; name="ftpd-mmap-troubles.tar.bz2" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="ftpd-mmap-troubles.tar.bz2" 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 --------------060203070109030302080906 Content-Type: text/plain; charset=us-ascii -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/ --------------060203070109030302080906--