X-Recipient: archive-cygwin AT delorie DOT com DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:to:from:subject:date:message-id:mime-version :content-type:content-transfer-encoding; q=dns; s=default; b=nSI F8fgxg4kS4v4BZ28ze9hlnBhczh2xOupmurF+WIyxyk0/fsOWOF1xWfnpZ3FgBEo i0CiWUrJNsAvoqOTPcRaL74BPD42pH4d54uaHGTobi7TOXv1KkLnxlz0ssR/A/x2 rCIFDudv0r3QvjIDaRaAy08C6RR8ilEXL6y6guuQ= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:to:from:subject:date:message-id:mime-version :content-type:content-transfer-encoding; s=default; bh=o7LkVj2zp gB+mMjKvIc+SiXQ+6Q=; b=sLjwn4cQjrFy52VLrVs5rGA+si2iVSj92ZIuiVvW6 JYNQ5Uc1uK3/Eg+2P7YsrkRaqrsGb1DeCvSrBkN40A0T9YcYEjD5GFFjL7DlWEWy sLl283+bQzzMySryzUWVNAXxENRTl9NP4REWWzEEr4Nf9uCS7ohYDC744iZZ/PhQ gA= 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 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-0.7 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,FSL_HELO_BARE_IP_2,RCVD_IN_DNSWL_NONE,RCVD_NUMERIC_HELO,RP_MATCHES_RCVD,SPF_HELO_PASS,SPF_PASS autolearn=no version=3.3.2 X-HELO: plane.gmane.org To: cygwin AT cygwin DOT com From: jojelino Subject: Severe performance degradation of writev Date: Mon, 07 Jul 2014 07:28:12 +0900 Lines: 23 Message-ID: Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-IsSubscribed: yes 2008-07-27 Corinna Vinschen * fhandler_socket.cc (fhandler_socket::send_internal): Send never more then 64K bytes at once. For blocking sockets, loop until entire data has been sent or an error occurs. (fhandler_socket::sendto): Drop code which sends on 64K bytes. (fhandler_socket::sendmsg): Ditto. This commit added workaround for KB823764. but it has brought another performance issue when writev sends <64k of data. Execute following command shows the problem. svnrdump dump --incremental http://svn.apache.org/repos/asf/subversion subversion cygwin does split writev request into many WSASendTo call and serf library sets TCP_NODELAY for socket it uses, a WSASendTo call corresponds to a tcp packet. You can see that http header is sent being splitted when you executed above command. Whereas win32 backend of apr library doesn't exhibit such behavior by using send call. -- Regards. -- 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