X-Recipient: archive-cygwin@delorie.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@cygwin.com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe@cygwin.com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-help@cygwin.com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner@cygwin.com
Mail-Followup-To: cygwin@cygwin.com
Delivered-To: mailing list cygwin@cygwin.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@cygwin.com
From: jojelino <jojelino@gmail.com>
Subject: Severe performance degradation of writev
Date: Mon, 07 Jul 2014 07:28:12 +0900
Lines: 23
Message-ID: <lpciht$pc5$1@ger.gmane.org>
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  <corinna@vinschen.de>

        * 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

