DMARC-Filter: OpenDMARC Filter v1.4.2 delorie.com 4AJ6xxT03003985 Authentication-Results: delorie.com; dmarc=pass (p=none dis=none) header.from=cygwin.com Authentication-Results: delorie.com; spf=pass smtp.mailfrom=cygwin.com DKIM-Filter: OpenDKIM Filter v2.11.0 delorie.com 4AJ6xxT03003985 Authentication-Results: delorie.com; dkim=pass (1024-bit key, unprotected) header.d=cygwin.com header.i=@cygwin.com header.a=rsa-sha256 header.s=default header.b=MjFGAIrj X-Recipient: archive-cygwin AT delorie DOT com DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org C40DC385841C DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com; s=default; t=1731999597; bh=/I62HZjeeI4+vmJbN9RXyT5piHhqDJcA52FJ85PyVEc=; h=Date:To:In-Reply-To:References:Subject:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: From; b=MjFGAIrjrOH8XIXYJ3be+UHPyJ64gGgh7iSqJZVzv5EXj7RI9DQiKPXm5V1XXtlDV WsfOXioXuJQP2gpm4iBnuSl3bAlThagGue4zKCXzGqnxaWTT+M4cfl6PKOxWhkD2aF YXre3Lnfn9FaZ0HQ7Ud9y+zHP0Y0unabiyYkqWOA= X-Original-To: cygwin AT cygwin DOT com Delivered-To: cygwin AT cygwin DOT com DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 5DF663858C32 ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 5DF663858C32 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1731999562; cv=none; b=CkUXvWayGaoSkTp2oKOPGowNJhLIkDpYG0FxUmEtZZmo6RUZTzkXgPPzmHB2kub9RCEmLbxJZac6290S41mPVlLwaNZveEmQ4+0o9tGb2FXqwN2I99o6slQpL9E0i6tBC8G0HgcGn5N4AbABGyIsPgvI74XD67qfvZGSzNZf03s= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1731999562; c=relaxed/simple; bh=xxFO5XjE2paAfq7l8yZd4l6ZwrdgauogwCRZL0VG24E=; h=DKIM-Signature:Date:From:To:Message-ID:Subject:MIME-Version; b=HAp737Yz96xXta1avCm9MD/vTF8ab8DM4gE9djOQsqe2Eaew166X3NCcMW2JgGPOPYFo8y3P/W3acwVGZCMinMH1RK7vIpi7S48To6jmDZK3WBNY8CHkPEqssvqgP5FiElRNwevNsZWr1OO4hiQOYFtQwEEGlCZvLuNJ07PuleQ= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 5DF663858C32 X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1731999561; bh=hP43vVgEWWsI2wfWkbqzexSecZcUoqDEOQvrG1c1Wc3=; h=X-Sonic-MF:Date:From:To:Subject:From:Subject; b=ezi8JlllYA98v+8xp8RJq1b3T+6nb7zGkBgzAyrpQLof7PknYiU/e3heyLj3xcT9EaajwXhPiel/XEln1nshtIK1vF+cpwlcWYi6sCOeV1Jfc++Th71/WefauORB1oQU0ijyoXw4yF53q1DSt9A9KYHqSHRJ1QBdXCU6LnNrWI/AXGXO3+DqPit+3RWg/jNhhPfXHhfCLZeDrUtPxh9BhXxqKGlPTUiodjIwEk7TZpC+X4RyUpjqzfAUvsjFzcXVlJeyVvH4TlUB5OEKKlLR8f6coiuRNEoJV/CEOzpgxSE04lU9Zy3x6RpsUVZbfM2geKFQGXqaI83S8lmS+x4A2Q== X-YMail-OSG: pxDyRm4VM1kiDlH2ghFaJ2ws7PR7cp98y9908.XFHsW3Bnioff11azqJiNgg0fL 9ciB25EZAiDBAUWGlBShM_R3JK8XBNq0xcchc_8fXuWhZw_ni.qsgSuFu__0cpP2emeP03H7wqTK 66_WCos9GQJB1g6g0XRNpXvyDwMM1wzrxzI_0rMw0GwFbG3NpFKS49XMSt5sDjkKRSJqfhFOfTTc j9wqP0MGbreNHkUkhttPiuhq4NfSlB80PiZH9ZxNoQJHmMJqOTSEr03xWy6YkTsgUg8RqcRNOgvz ZAgO_bkiVEHjcWdS5WH0NgDfQ1uXd8T2B3RhNaDdwgPvRkkdBVYKRjazYM2AsmixutiKj0CvXYRx dFXoE2wyY._ynu06r8Ir84KiYmqpA1jLO9vdwpXEP9oxnkGgfwr2VxCopPwOgTzc3.guDOf1ifLO MMkQ7yzhsZJUW54QsWDwmrthdn7PovaX7n7OTskgWZSLMC55eaBfhNASs4HD1Hk48KR7d5.PZ0Zv DOuJ7VeVVCsBvcOv63dSuboAzPiQiodPvu1xYSXitCxbRtHsHRRkpnWH31iuo3Vd7bdbbDzKCmGu 86hGbcvQyF9UD0EqsNf7OZkjnr9qZ8S7itWFQpWZkbGK.sRht3wT4KtWvm4ZOPxls62IqBiP7xfC CAqA1ebRTILqeAElutYc4KHX7gQfacF9Huv80VwiLuCrkatkbDd42IVWXyygjXX8fGAbDDCPt2e0 NKcgam.vbuZeouyoBAg9lZoLAPOefK92E4KSH3h07pj_0xJ07fPBoAT02pILW7rlvz1RbWmUGpEp ZGxrCHppnugBid_VOPGfoJuRIzFNStwx6PCN1hjYtkJAxv4eKmmhBuTisv.SFvD8LfUSrILd34iW YBZCaMpX3wUJA5uSt26qggJ6U.kl2cgx0FLkEVTW5HueuIEdy4yfaqcOwTij873mi5LlJaeRJwhF 32XoI4wCgugg2niDluCQcW4TeyJMagR9rkhXg20TIH8kPOirrnvBgtk6cXPMItgkepGIuTqSp.M. tZWW0wVyUneg8ZXTrvfU6lPzm.BN_cnzzLwPgtUsZ06Nv8FDh9COVFosRDw_.HsTX.fxc5yBwxvU zJXwaHYEiQNRTiGsNuR_Q7vyv1knDjVj9cJkNa1y1azumgRiRaWZB97ufpv4nYcLltmdpvz7sVX7 6G2j8A87ngAJVQ7b7laBV5WU96GY1FzE6tTSgJz2bERUsVZpqpfZ3l3b8NUG_RvBN2pgJ7FLYcf9 kbTsdZRna311YSCgrQjJ6COwdag6Hl28LBRHwgIuJbV.6vmsTIGb.M0IAZ06t194HlzMqhGoAECT qIoKJQE3b7oXlASi9_r7y4SuZEMCXD1GtftZN4SzwnMv6dMVI0Bm01r7juwZ0z_ivbgTKxdiK0l6 Nf9_xcL3q38j8NeGs_bJ.FMEpDe3bPBN7a51WHpz6N19lGCu6UKERsXhI6SZ0T1W8HIm2R.Q205a HroQPJL6A5xKykNqNvS3LXfNoSpOyzrehfY7SU5HAE1ltsr1rfD_FMoWiB4q_3dMcO01FLKhJeZZ 2pe2z5P6lbUZN1aq9PXmtNF4osJqN7vaS22FyeouZ0QeSQARX2x3_6LNNeuSYsNr6XgJ3buchUPD 8heCvg2fCxua9_Q32KquJ6d4izZZrXE3eGobpz8_l8M6Nz3kmEpEkgorf8.koGdA9Mi6pGaZBjkY I0KaIG8c9RtO4fJnnqbYxXYQDfs2Yk3Ru_Y_FzBg7vtVwHacy9u410SFcZ2h7DWK5fYKctDAc412 BRA9isq0abOvuP8EPW96gtI56t1oEtmk2KUvSSElOGWQreAyYbDpcVrMKLfyBsi99xIQC81B7uRY jqR_aM2_TAVShkBP38CzsEkJnvjg3mGrg86XG7Jn_Rt9YZPxaKyZnAmicEwGbjtEcm9RQAhaNyD1 5DqaHaFzTVgQ53ALfSkKWj4WWWIctSUbCuB1mUOtKSR82Zts_M3N6W9SLhHzErdPkAJ4ZeV7Vjwd 1Mqkmu2pwTwO7rqJIjhI0MoEat3D62L1KaQf7t.PZeekQvQ3LcGcC6rUrWSC8u04zwlA2hGQobiw NxodHDoNT.VdZenG_87bACIclGKDYxURGmP6Hx3OCXlta7YF8yzMQxvP6AffFJ1de_QHgDvAo2Ye B4Evc9bUTQnKwoPrf4NoXvUxL1AWcEyiJIokzHlczqPdphnrjg0Feh9Ln2J2Hq_MAEolQ39shCov TAWIn3sON9Iqns0y1ofxS2uEvvhmVKPEF8c0nJdrS X-Sonic-MF: X-Sonic-ID: 812c17e9-d85b-4b77-a875-2a916a9f4b0e Date: Tue, 19 Nov 2024 06:59:19 +0000 (UTC) To: "cygwin AT cygwin DOT com" Message-ID: <2093810197.191568.1731999559821@mail.yahoo.com> In-Reply-To: <0bec82b7-503d-4cfd-b940-cb66914b61f1@maxrnd.com> References: <791865992 DOT 3601338 DOT 1731871978376 DOT ref AT mail DOT yahoo DOT com> <791865992 DOT 3601338 DOT 1731871978376 AT mail DOT yahoo DOT com> <0bec82b7-503d-4cfd-b940-cb66914b61f1 AT maxrnd DOT com> Subject: Re: Thread memory allocation issue MIME-Version: 1.0 X-Mailer: WebService/1.1.22941 YMailNorrin X-BeenThere: cygwin AT cygwin DOT com X-Mailman-Version: 2.1.30 Precedence: list List-Id: General Cygwin discussions and problem reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Teepean via Cygwin Reply-To: Teepean Content-Type: text/plain; charset="utf-8" Errors-To: cygwin-bounces~archive-cygwin=delorie DOT com AT cygwin DOT com Sender: "Cygwin" Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from base64 to 8bit by delorie.com id 4AJ6xxT03003985 > Given that the result of the investigation a couple years ago was, > essentially, no change to Cygwin's malloc*, why has the problem > manifested again recently?  Have you been benchmarking/testing all > along?  Can you be more specific about which recent Cygwin versions? The original executable with patches was compiled around 2021 using Cygwin the current GCC and Cygwin at that time. This version does work without problems. There have been several changes to Cygwin after that time so I decided compiling bwa using current Cygwin (3.5.4) to see if it would work without patching and I found that it did not. I compiled a patched version (GCC versions 12.0 - 15.0) and noticed that it did not work either. I then tested the 2021 compiled version and noticed that executable still works. >> Steps to Reproduce >> >> 1. Compile BWA normally >> >> https://github.com/lh3/bwa/ > > What's involved with that? Clone the repo, ./configure, make? Anything else? git clone https://github.com/lh3/bwa/ cd bwa make >> 2. Compile BWA with rpmalloc and the following patch: >> >> >> // In thread worker function: >> #ifdef __CYGWIN__ >> rpmalloc_thread_initialize(); >> #endif >> >> >> // ... thread work ... >> #ifdef __CYGWIN__ >> rpmalloc_thread_finalize(1); >> #endif > Where does that patch go? Assume I know nothing about BWA. These two files are patched: https://github.com/WGSExtract/bwa/blob/cygwin/main.c https://github.com/WGSExtract/bwa/blob/cygwin/kthread.c > Are these examples of runs one would do "in production"? Or are you > running much longer-lasting processing in the usual case? Normal production samples are usually gigabytes in size whereas the testcase has a sample that is only around 20 megabytes but even with a small sample like this it is possible to benchmark the problem. So a production sample of human DNA that might be 60 gigabytes in size and would take Linux version of bwa about three hours would take 24 hours or more on an unpatched bwa on Cygwin. >> 1. The default malloc implementation shows extremely high system time (11.265s) compared to the rpmalloc version (0.327s) >> 2. Total real time is about 4.5x slower with default malloc >> 3. The dramatic difference in system time suggests heavy contention in the memory allocation subsystem >> 4. The issue only manifests on Cygwin with bwa; the same code performs normally on native Linux and MacOS > > Are you saying there is non-bwa code that runs on Cygwin comparably to > Linux and Mac? I think most code runs nearly as fast on Cygwin as it does on Linux, assuming the code does not heavily rely on disk I/O. >> 5. The issue manifests with recent versions of Cygwin but does work with older versions > > Again, it would really help if you could give Cygwin versions or at > least dates here... The patch for Cygwin version was committed Mar 28, 2021. > I'll glance at this stuff when I can but I hope to have some answers to > my questions above from you to save me some time. Thank you! I know that there are only a handful of people using bwa on Cygwin but I would guess that this is a good test case to learn something about Cygwin's malloc. Regards, Teemu Nätkinniemi -- Problem reports: https://cygwin.com/problems.html FAQ: https://cygwin.com/faq/ Documentation: https://cygwin.com/docs.html Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple