From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 119341 invoked by alias); 26 Jun 2017 00:50:54 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 119261 invoked by uid 89); 26 Jun 2017 00:50:53 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-11.7 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_2,GIT_PATCH_3,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=ham version=3.3.2 spammy=afterward, act X-HELO: mail-lf0-f46.google.com Received: from mail-lf0-f46.google.com (HELO mail-lf0-f46.google.com) (209.85.215.46) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 26 Jun 2017 00:50:51 +0000 Received: by mail-lf0-f46.google.com with SMTP id l13so52821175lfl.1 for ; Sun, 25 Jun 2017 17:50:51 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=JuuhrtpplzEOu4w8BlPUMKJ2TMKtHBSdfB8ydFi+/j0=; b=H4kN2avVAMp8oEJhQGgVcEXE/8BJb0JPcIz9J7Gw5cpJUNk7ixdS5KRuScg1EP9vca qET+jR+PLtUHWZRSMMG8vHcLqWVRazvzheJrkmYA5ENZZHR8AQ+9J8oFotRVutJm/CFD np7jb26eZvqKQGUr39mC55HzKvcR4j1z5BgXSlkNH/vqL6EFYgRLHRAHCtWWI9iAJSar 9BreHTIlTB0jdQbrXtmPEgtD4qgi2HylerB4oAJpPnYLBn0vu9bYjWB3GDZ83DEI6qTf 8PNCeRi34RXYV2EGVCX7anbh/IciRJ2d0sdMsD7xAg26PP4yabCpd91xNZRjXPO+yfoK kqYQ== X-Gm-Message-State: AKS2vOzIdAMiQjmO4uqX0he+6B58WNoRemtntNWaP0ElmjNhdyxSaP5J Cv4It6NUGoIFiE1uuEg0wOwOEFonb9CRV5Q= X-Received: by 10.46.88.86 with SMTP id x22mr5281688ljd.106.1498438249030; Sun, 25 Jun 2017 17:50:49 -0700 (PDT) MIME-Version: 1.0 Received: by 10.25.158.3 with HTTP; Sun, 25 Jun 2017 17:50:48 -0700 (PDT) From: Jim Wilson Date: Mon, 26 Jun 2017 00:50:00 -0000 Message-ID: Subject: [PATCH, libgfortran] proposed fix for SPEC CPU2017 621.wrf_s failures To: "gcc-patches@gcc.gnu.org" , fortran@gcc.gnu.org Content-Type: multipart/mixed; boundary="f403043886808d95250552d25788" X-SW-Source: 2017-06/txt/msg01876.txt.bz2 --f403043886808d95250552d25788 Content-Type: text/plain; charset="UTF-8" Content-length: 567 As mentioned in bug 81195, I see openmp related failures due to a lack of locking of the newunit_stack and newunit_tos variables. The code locks when pushing onto the stack, but does not lock when popping from the stack. This can cause multiple threads to pop the same structure, which then eventually leads to an error. This patch was tested with an aarch64 bootstrap and make check. There were no regressions. It was also tested with a SPEC CPU2017 run, and solves the 621.wrf_s failure I get without the patch. gcc 7 has the same problem. gcc 6 is OK. Jim --f403043886808d95250552d25788 Content-Type: text/x-patch; charset="US-ASCII"; name="newunit-locking.patch" Content-Disposition: attachment; filename="newunit-locking.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_j4dazs3y0 Content-length: 2054 CWxpYmdmb3J0cmFuLwoJUFIgbGliZm9ydHJhbi84MTE5NQoJKiBpby91bml0 LmMgKGdldF91bml0KTogQ2FsbCBfX2d0aHJlYWRfbXV0ZXhfbG9jayBiZWZv cmUgbmV3dW5pdF9zdGFjawoJYW5kIG5ld3VuaXRfdG9zIHJlZmVyZW5jZXMu ICBDYWxsIF9fZ3RocmVhZF9tdXRleF91bmxvY2sgYWZ0ZXJ3YXJkLgoKSW5k ZXg6IGxpYmdmb3J0cmFuL2lvL3VuaXQuYwo9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09Ci0tLSBsaWJnZm9ydHJhbi9pby91bml0LmMJKHJldmlzaW9uIDI0OTYx MykKKysrIGxpYmdmb3J0cmFuL2lvL3VuaXQuYwkod29ya2luZyBjb3B5KQpA QCAtNTgzLDE0ICs1ODMsMTcgQEAKIAl9CiAgICAgICBlbHNlCiAJeworCSAg X19ndGhyZWFkX211dGV4X2xvY2sgKCZ1bml0X2xvY2spOwogCSAgaWYgKG5l d3VuaXRfdG9zKQogCSAgICB7CiAJICAgICAgZHRwLT5jb21tb24udW5pdCA9 IG5ld3VuaXRfc3RhY2tbbmV3dW5pdF90b3NdLnVuaXRfbnVtYmVyOwogCSAg ICAgIHVuaXQgPSBuZXd1bml0X3N0YWNrW25ld3VuaXRfdG9zLS1dLnVuaXQ7 CisJICAgICAgX19ndGhyZWFkX211dGV4X3VubG9jayAoJnVuaXRfbG9jayk7 CiAJICAgICAgdW5pdC0+ZmJ1Zi0+YWN0ID0gdW5pdC0+ZmJ1Zi0+cG9zID0g MDsKIAkgICAgfQogCSAgZWxzZQogCSAgICB7CisJICAgICAgX19ndGhyZWFk X211dGV4X3VubG9jayAoJnVuaXRfbG9jayk7CiAJICAgICAgZHRwLT5jb21t b24udW5pdCA9IG5ld3VuaXRfYWxsb2MgKCk7CiAJICAgICAgdW5pdCA9IHhj YWxsb2MgKDEsIHNpemVvZiAoZ2ZjX3VuaXQpKTsKIAkgICAgICBmYnVmX2lu aXQgKHVuaXQsIDEyOCk7CkBAIC02MDMsMTIgKzYwNiwxNSBAQAogICAvKiBJ ZiBhbiBpbnRlcm5hbCB1bml0IG51bWJlciBpcyBwYXNzZWQgZnJvbSB0aGUg cGFyZW50IHRvIHRoZSBjaGlsZAogICAgICBpdCBzaG91bGQgaGF2ZSBiZWVu IHN0YXNoZWQgb24gdGhlIG5ld3VuaXRfc3RhY2sgcmVhZHkgdG8gYmUgdXNl ZC4KICAgICAgQ2hlY2sgZm9yIGl0IG5vdyBhbmQgcmV0dXJuIHRoZSBpbnRl cm5hbCB1bml0IGlmIGZvdW5kLiAgKi8KKyAgX19ndGhyZWFkX211dGV4X2xv Y2sgKCZ1bml0X2xvY2spOwogICBpZiAobmV3dW5pdF90b3MgJiYgKGR0cC0+ Y29tbW9uLnVuaXQgPD0gTkVXVU5JVF9TVEFSVCkKICAgICAgICYmIChkdHAt PmNvbW1vbi51bml0ID09IG5ld3VuaXRfc3RhY2tbbmV3dW5pdF90b3NdLnVu aXRfbnVtYmVyKSkKICAgICB7CiAgICAgICB1bml0ID0gbmV3dW5pdF9zdGFj a1tuZXd1bml0X3Rvcy0tXS51bml0OworICAgICAgX19ndGhyZWFkX211dGV4 X3VubG9jayAoJnVuaXRfbG9jayk7CiAgICAgICByZXR1cm4gdW5pdDsKICAg ICB9CisgIF9fZ3RocmVhZF9tdXRleF91bmxvY2sgKCZ1bml0X2xvY2spOwog CiAgIC8qIEhhcyB0byBiZSBhbiBleHRlcm5hbCB1bml0LiAgKi8KICAgZHRw LT51LnAudW5pdF9pc19pbnRlcm5hbCA9IDA7Cg== --f403043886808d95250552d25788--