From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 20075 invoked by alias); 7 Jul 2014 13:41:42 -0000 Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner@cygwin.com Mail-Followup-To: cygwin@cygwin.com Received: (qmail 20041 invoked by uid 89); 7 Jul 2014 13:41:41 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-5.9 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.3.2 X-HELO: calimero.vinschen.de Received: from aquarius.hirmke.de (HELO calimero.vinschen.de) (217.91.18.234) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 07 Jul 2014 13:41:39 +0000 Received: by calimero.vinschen.de (Postfix, from userid 500) id 2C8418E14EB; Mon, 7 Jul 2014 15:41:37 +0200 (CEST) Date: Mon, 07 Jul 2014 13:41:00 -0000 From: Corinna Vinschen To: cygwin@cygwin.com Subject: Re: Severe performance degradation of writev Message-ID: <20140707134137.GK1803@calimero.vinschen.de> Reply-To: cygwin@cygwin.com Mail-Followup-To: cygwin@cygwin.com References: <20140707101049.GI1803@calimero.vinschen.de> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="656hIAUFSU7Oh46B" Content-Disposition: inline In-Reply-To: <20140707101049.GI1803@calimero.vinschen.de> User-Agent: Mutt/1.5.23 (2014-03-12) X-SW-Source: 2014-07/txt/msg00082.txt.bz2 --656hIAUFSU7Oh46B Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-length: 1388 On Jul 7 12:10, Corinna Vinschen wrote: > On Jul 7 07:28, jojelino wrote: > > 2008-07-27 Corinna Vinschen > >=20 > > * 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. > >=20 > > This commit added workaround for KB823764. but it has brought another > > performance issue when writev sends <64k of data. >=20 > That's why the code contains that FIXME comment. If you have a good > idea for simple code to split a message into the least number of pieces > to minimize the number of WsaSendTo calls... I took a stab at the code and I think the new version improves writing multiple small buffers a lot. In my testing it still works in other scenarios, too, but I would be very grateful if somebody could have a critical look into my code changes as posted in https://cygwin.com/ml/cygwin-cvs/2014-q3/msg00003.html I uploaded a new developer snapshot to http://cygwin.com/snapshots/ Please give it a thorough try. Thanks, Corinna --=20 Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Maintainer cygwin AT cygwin DOT com Red Hat --656hIAUFSU7Oh46B Content-Type: application/pgp-signature Content-length: 819 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAEBAgAGBQJTuqORAAoJEPU2Bp2uRE+g3LQP/Rdq6+ITuqLW27tb9IT5sRpM i0fKzL4+S03aurwbQEcl/ti05G6U+6l3eSScewySBdOoRG8u0xkktVnWMgyxkvmr CsZkP0+gVT+pr+kwPjqmL18ejQCWiKo77QWca4Wql2VR0OJQniPFV9iXh9D5AMNl X9QirY9K38ZrFSciKMdUHm4XHd+gVCMuxPlVhWy9+q2GlaC9MMhLpEDVnoUYdhoV HfPXdEbLeFze08syt2UQea1myofjuV8FXe2MsCzsjzqz5QDIQONgFAXc6Fwj2kRL Al6sPSRJwenYWRsC6mTYEr2dOeu3/ZuWxaaQHx4AC42Q4/o4sZh3wZ+Plew4H8xf xYRz6CI59t9yVBHEH0wT1SCWZNhn4EfNj9UuWgdEGr8twAJwBEaSvrJdObiB7G31 D07lcUU0uKqzd0vdiFLQZ0farD8mLnDuzTYTdWZ/XweD4zmBoSBxFbWb0JeSYV12 NUA4pJ539Qwj19P6ndGonin+dUteC1WCEwzOD6Hs9sb+SFkxmbmnkDC/PXAXJJSS WmOaRN7kh9zIGV+ZCPhKPAnUsFY+sKkntYQpihbcP5AS02VQw2iX8yOCHSrlL5Wf aEnjsH/v5O9PnL/osYgyVrpgaVjOCqIIBFuAOceLJkHu4Olm3LpgqRzqQO3V+dIt MbZpYnOD9OavNccs8uPa =M8Uo -----END PGP SIGNATURE----- --656hIAUFSU7Oh46B--