From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 69736 invoked by alias); 26 Nov 2015 09:34:32 -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 69084 invoked by uid 89); 26 Nov 2015 09:34:31 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-4.1 required=5.0 tests=AWL,BAYES_50,KAM_LAZY_DOMAIN_SECURITY autolearn=no 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; Thu, 26 Nov 2015 09:34:30 +0000 Received: by calimero.vinschen.de (Postfix, from userid 500) id EA9FDA805ED; Thu, 26 Nov 2015 10:34:27 +0100 (CET) Date: Thu, 26 Nov 2015 09:49:00 -0000 From: Corinna Vinschen To: cygwin@cygwin.com Subject: Re: Cygwin multithreading performance Message-ID: <20151126093427.GJ2755@calimero.vinschen.de> Reply-To: cygwin@cygwin.com Mail-Followup-To: cygwin@cygwin.com References: <564E3017.90205@maxrnd.com> <5650379B.4030405@maxrnd.com> <20151121105301.GE2755@calimero.vinschen.de> <5652C402.7040006@maxrnd.com> <24780-1448274431-7444@sneakemail.com> <5653B52B.5000804@maxrnd.com> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="oXNgvKVxGWJ0RPMJ" Content-Disposition: inline In-Reply-To: <5653B52B.5000804@maxrnd.com> User-Agent: Mutt/1.5.23 (2014-03-12) X-SW-Source: 2015-11/txt/msg00419.txt.bz2 --oXNgvKVxGWJ0RPMJ Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-length: 2016 On Nov 23 16:54, Mark Geisert wrote: > John Hein wrote: > >Mark Geisert wrote at 23:45 -0800 on Nov 22, 2015: > > > Corinna Vinschen wrote: > > > > On Nov 21 01:21, Mark Geisert wrote: > > > [...] so I wonder if there's > > > >> some unintentional serialization going on somewhere, but I don't = know yet > > > >> how I could verify that theory. > > > > > > > > If I'm allowed to make an educated guess, the big serializer in Cy= gwin > > > > are probably the calls to malloc, calloc, realloc, free. We despe= rately > > > > need a new malloc implementation better suited to multi-threading. > > > > > > That's very helpful to know. I'd want to first make sure the heavy = lock > > > activity I'm seeing in the traces really is due to malloc() and frie= nds > > > but I couldn't help a speculative search online for multithread-safe > > > malloc(). These turned up: > > > tcmalloc - part of google-perftools, requires libunwind, eviden= tly > > > not yet ported to Windows AFAICT, > > > nedmalloc - http://www.nedprod.com/programs/portable/nedmalloc/ > > > ptmalloc - http://www.malloc.de/ > > > > > > The latter two are based on Doug Lea's dlmalloc which is also the ba= sis > > > of Cygwin's malloc() functions. As I understand it, ptmalloc in one > > > form or another has been part of glibc on Linux for some time. > > > > > > So there may be a solution in sight if we need to go that direction.= Of > > > course, SHTDI as usual :). > > > > > > ...mark > > > >Someone recently mentioned on this list they were working on porting > >jemalloc. That would be a good choice. >=20 > Indeed; thanks for the reminder. Somehow I hadn't followed that thread. Indeed^2. Did you look into the locking any further to see if there's more than one culprit? I guess we've a rather long way to a "lock-less kernel"... Corinna --=20 Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Maintainer cygwin AT cygwin DOT com Red Hat --oXNgvKVxGWJ0RPMJ Content-Type: application/pgp-signature Content-length: 819 -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAEBCAAGBQJWVtIjAAoJEPU2Bp2uRE+gmQsP/0adKGQT7Aiihkfvf3PdRoiy z15jWS9bY87BfXrgVEY0uL+VA6MIgl1tQlvfs0Sv1SyNgsE4uX/B8iGthaNCbIC5 PVyTJaP8EK2M5tCPPYQKSdo9lsnJUTxUYkBEaidsWAXo8RkEdKYaPTnSPdo5TF1a 7lsFwjyvn0Mh8+ZErnS0LtA1e2Y9pfy12XsaD2fKb7PJCmu767mRM/RbzNPZD/Dk szTitvoa1EUg/7YN/hDl7QIMrpOCUdEjU9bJ580Ww8LYdUNGP6cgqdBVxZxt52uN ZRjYvOFbdKxEXOU431hsZZjXkIsf/J/ezuM3QzO4SA3vwdxQm+72j+SW7tZ48HGp CoxwCGE6fLA0FaS+rr6TFdv9Qo8sIQsQEKqK6Ol3drLosyI4PRpM7Dnq1Yf9dPKh 5thScxw6uc+D03D2f1z/C0/ZdmY7NaGtDA9eC233NlnAOndJMstmqRPcBAmQsGCe PIOYPnDuMbBBmgFinc+hq+dE5gTuORv8HXF31Cqyf5hryvmraLb9h+uDYNKyIRKb CJNdsUnNs8ZKfG+6SkLqv5mlfB1rZR/sITGQQKShUT1pU+CDOvcKHSKn9WpVvkXt HvPxxHe/VU/5+fO70ckWdNxS3/ygVrjd3iQqi7aRFapoLhgSxlA0xQEsS+97gfec dVflTCixA9eUPvVtduEo =MVNi -----END PGP SIGNATURE----- --oXNgvKVxGWJ0RPMJ--