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:date:from:to:subject:message-id:reply-to :references:mime-version:content-type:in-reply-to; q=dns; s= default; b=RJdhXLKh/NCcsXN0NCRK8gux2cPQ4utOgzkPosQMC9Kumwp3/Eh5L D7QV03sOPAHieFzcF8ZMk2gjZvoRFHbamVsZCof5hTxwTV0nn5l6kV3JHIuaRnNV 3M+D4A4XrxvsM4YYEdSa8XmWGzsJwaY8nN/q8SmeRjYlN06jPVl0m8= 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:date:from:to:subject:message-id:reply-to :references:mime-version:content-type:in-reply-to; s=default; bh=E5FTda39M/LwvOE7L0ttVa1+Lg8=; b=oxSO+4/AgH6ygNW55ouZIPzQEsTG 0djkNfiJx0K7yhpFt1eYIgEdU3M/nhm9udJsre7jELFwP/DbhHRSctRb4AtZ7UdB YG970BTekp545/Jbz7xNTk6h37ZaZWZUXwBHXF9tA3TdykB3rGy6lta4ZimuKM11 L/6GUV9dVRfYJH8= 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=-4.1 required=5.0 tests=AWL,BAYES_50,KAM_LAZY_DOMAIN_SECURITY autolearn=no version=3.3.2 X-HELO: calimero.vinschen.de Date: Thu, 26 Nov 2015 10:34:27 +0100 From: Corinna Vinschen To: cygwin AT cygwin DOT com Subject: Re: Cygwin multithreading performance Message-ID: <20151126093427.GJ2755@calimero.vinschen.de> Reply-To: cygwin AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com References: <564E3017 DOT 90205 AT maxrnd DOT com> <5650379B DOT 4030405 AT maxrnd DOT com> <20151121105301 DOT GE2755 AT calimero DOT vinschen DOT de> <5652C402 DOT 7040006 AT maxrnd DOT com> <24780-1448274431-7444 AT sneakemail DOT com> <5653B52B DOT 5000804 AT maxrnd DOT 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) --oXNgvKVxGWJ0RPMJ Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable 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 -----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--