From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 3251 invoked by alias); 11 Jul 2017 21:21:22 -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 3152 invoked by uid 89); 11 Jul 2017 21:21:21 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-26.9 required=5.0 tests=BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,RP_MATCHES_RCVD,SPF_HELO_PASS autolearn=ham version=3.3.2 spammy=RETURNED, 5086, Hx-languages-length:3900 X-HELO: mx1.redhat.com Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 11 Jul 2017 21:21:18 +0000 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 5A0AD61BBB for ; Tue, 11 Jul 2017 21:21:17 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mx1.redhat.com 5A0AD61BBB Authentication-Results: ext-mx10.extmail.prod.ext.phx2.redhat.com; dmarc=none (p=none dis=none) header.from=redhat.com Authentication-Results: ext-mx10.extmail.prod.ext.phx2.redhat.com; spf=pass smtp.mailfrom=law@redhat.com DKIM-Filter: OpenDKIM Filter v2.11.0 mx1.redhat.com 5A0AD61BBB Received: from localhost.localdomain (ovpn-116-33.phx2.redhat.com [10.3.116.33]) by smtp.corp.redhat.com (Postfix) with ESMTP id B19E218241 for ; Tue, 11 Jul 2017 21:21:16 +0000 (UTC) From: Jeff Law Subject: [PATCH][RFA/RFC] Stack clash mitigation patch 05/08 To: gcc-patches Message-ID: Date: Tue, 11 Jul 2017 21:21:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.1.0 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="------------E3EACDD79F9448ACD56E280E" X-IsSubscribed: yes X-SW-Source: 2017-07/txt/msg00561.txt.bz2 This is a multi-part message in MIME format. --------------E3EACDD79F9448ACD56E280E Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Content-length: 668 The prior patch introduced -fstack-check=clash prologues for the x86. And yet we still saw large allocations in our testing. It turns out combine-stack-adjustments would take allocate PROBE_INTERVAL probe allocate PROBE_INTERVAL probe allocate PROBE_INTERVAL probe allocate RESIDUAL And turn that into allocate (3 * PROBE_INTERVAL) + residual probe probe probe Adjusting the address of the probes appropriately. Ugh. This patch introduces a new note that the backend can attach to a stack adjustment which essentially tells c-s-a to not merge it into other adjustments. THere's an x86 specific test to verify behavior. Comments/Questions? Ok for the trunk? --------------E3EACDD79F9448ACD56E280E Content-Type: text/plain; charset=UTF-8; name="P5" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="P5" Content-length: 4527 CgkqIGNvbWJpbmUtc3RhY2stYWRqLmMgKGNvbWJpbmVfc3RhY2tfYWRqdXN0 bWVudHNfZm9yX2Jsb2NrKTogRG8KCW5vdGhpbmcgZm9yIHN0YWNrIGFkanVz dG1lbnRzIHdpdGggUkVHX1NUQUNLX0NIRUNLLgoJKiBjb25maWcvaTM4Ni9p Mzg2LmMgKHByb19lcGlsb2d1ZV9hZGp1c3Rfc3RhY2spOiBSZXR1cm4gaW5z bi4KCShpeDg2X2FkanVzdF9zYXRja19hbmRfcHJvYmVfc3RhY2tfY2xhc2gp OiBBZGQgUkVHX1NUQUNLX05PVEVzLgoJKiByZWctbm90ZXMuZGVmIChTVEFD S19DSEVDSyk6IE5ldyBub3RlLgoKdGVzdHN1aXRlLwoKCSogZ2NjLnRhcmdl dC9pMzg2L3N0YWNrLWNoZWNrLTExLmM6IE5ldyB0ZXN0LgoKY29tbWl0IGYz NjNiODc2Y2NiYmM1ODRkYjg1NTEwY2QyNGI4MDM0OWZjZDgyNjAKQXV0aG9y OiBKZWZmIExhdyA8bGF3QHRvcnNpb24udXNlcnN5cy5yZWRoYXQuY29tPgpE YXRlOiAgIFdlZCBKdW4gMjggMTI6MzY6NDkgMjAxNyAtMDQwMAoKICAgIERv bid0IGNvbWJpbmUgYWRqdXN0bWVudHMgZm9yIHN0Y2sgcHJvYmluZwoKZGlm ZiAtLWdpdCBhL2djYy9jb21iaW5lLXN0YWNrLWFkai5jIGIvZ2NjL2NvbWJp bmUtc3RhY2stYWRqLmMKaW5kZXggOWVjMTRhMy4uODJkNmRiYSAxMDA2NDQK LS0tIGEvZ2NjL2NvbWJpbmUtc3RhY2stYWRqLmMKKysrIGIvZ2NjL2NvbWJp bmUtc3RhY2stYWRqLmMKQEAgLTUwOCw2ICs1MDgsOCBAQCBjb21iaW5lX3N0 YWNrX2FkanVzdG1lbnRzX2Zvcl9ibG9jayAoYmFzaWNfYmxvY2sgYmIpCiAJ Y29udGludWU7CiAKICAgICAgIHNldCA9IHNpbmdsZV9zZXRfZm9yX2NzYSAo aW5zbik7CisgICAgICBpZiAoc2V0ICYmIGZpbmRfcmVnX25vdGUgKGluc24s IFJFR19TVEFDS19DSEVDSywgTlVMTF9SVFgpKQorCXNldCA9IE5VTExfUlRY OwogICAgICAgaWYgKHNldCkKIAl7CiAJICBydHggZGVzdCA9IFNFVF9ERVNU IChzZXQpOwpkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9pMzg2L2kzODYuYyBi L2djYy9jb25maWcvaTM4Ni9pMzg2LmMKaW5kZXggNzA5OGY3NC4uYTczNzMw MCAxMDA2NDQKLS0tIGEvZ2NjL2NvbmZpZy9pMzg2L2kzODYuYworKysgYi9n Y2MvY29uZmlnL2kzODYvaTM4Ni5jCkBAIC0xMzQwNSw3ICsxMzQwNSw3IEBA IGl4ODZfYWRkX3F1ZXVlZF9jZmFfcmVzdG9yZV9ub3RlcyAocnR4IGluc24p CiAgICB6ZXJvIGlmICVyMTEgcmVnaXN0ZXIgaXMgbGl2ZSBhbmQgY2Fubm90 IGJlIGZyZWVseSB1c2VkIGFuZCBwb3NpdGl2ZQogICAgb3RoZXJ3aXNlLiAg Ki8KIAotc3RhdGljIHZvaWQKK3N0YXRpYyBydHgKIHByb19lcGlsb2d1ZV9h ZGp1c3Rfc3RhY2sgKHJ0eCBkZXN0LCBydHggc3JjLCBydHggb2Zmc2V0LAog CQkJICAgaW50IHN0eWxlLCBib29sIHNldF9jZmEpCiB7CkBAIC0xMzQ5Niw2 ICsxMzQ5Niw3IEBAIHByb19lcGlsb2d1ZV9hZGp1c3Rfc3RhY2sgKHJ0eCBk ZXN0LCBydHggc3JjLCBydHggb2Zmc2V0LAogICAgICAgbS0+ZnMuc3BfdmFs aWQgPSB2YWxpZDsKICAgICAgIG0tPmZzLnNwX3JlYWxpZ25lZCA9IHJlYWxp Z25lZDsKICAgICB9CisgIHJldHVybiBpbnNuOwogfQogCiAvKiBGaW5kIGFu IGF2YWlsYWJsZSByZWdpc3RlciB0byBiZSB1c2VkIGFzIGR5bmFtaWMgcmVh bGlnbiBhcmd1bWVudApAQCAtMTM4MzcsOSArMTM4MzgsMTEgQEAgaXg4Nl9h ZGp1c3Rfc3RhY2tfYW5kX3Byb2JlX3N0YWNrX2NsYXNoIChjb25zdCBIT1NU X1dJREVfSU5UIHNpemUpCiAgICAgICBmb3IgKGkgPSBQUk9CRV9JTlRFUlZB TDsgaSA8PSBzaXplOyBpICs9IFBST0JFX0lOVEVSVkFMKQogCXsKIAkgIC8q IEFsbG9jYXRlIFBST0JFX0lOVEVSVkFMIGJ5dGVzLiAgKi8KLQkgIHByb19l cGlsb2d1ZV9hZGp1c3Rfc3RhY2sgKHN0YWNrX3BvaW50ZXJfcnR4LCBzdGFj a19wb2ludGVyX3J0eCwKKwkgIHJ0eCBpbnNuCisJICAgID0gcHJvX2VwaWxv Z3VlX2FkanVzdF9zdGFjayAoc3RhY2tfcG9pbnRlcl9ydHgsIHN0YWNrX3Bv aW50ZXJfcnR4LAogCQkJCSAgICAgR0VOX0lOVCAoLVBST0JFX0lOVEVSVkFM KSwgLTEsCiAJCQkJICAgICBtLT5mcy5jZmFfcmVnID09IHN0YWNrX3BvaW50 ZXJfcnR4KTsKKwkgIGFkZF9yZWdfbm90ZSAoaW5zbiwgUkVHX1NUQUNLX0NI RUNLLCBjb25zdDBfcnR4KTsKIAogCSAgLyogQW5kIHByb2JlIGF0ICpzcC4g ICovCiAJICBlbWl0X3N0YWNrX3Byb2JlIChzdGFja19wb2ludGVyX3J0eCk7 CmRpZmYgLS1naXQgYS9nY2MvcmVnLW5vdGVzLmRlZiBiL2djYy9yZWctbm90 ZXMuZGVmCmluZGV4IDg3MzRkMjYuLjE4Y2Y3ZTMgMTAwNjQ0Ci0tLSBhL2dj Yy9yZWctbm90ZXMuZGVmCisrKyBiL2djYy9yZWctbm90ZXMuZGVmCkBAIC0y MjMsNiArMjIzLDEwIEBAIFJFR19OT1RFIChBUkdTX1NJWkUpCiAgICBwc2V1 ZG8gcmVnLiAgKi8KIFJFR19OT1RFIChSRVRVUk5FRCkKIAorLyogSW5kaWNh dGVzIHRoZSBpbnN0cnVjdGlvbiBpcyBhIHN0YWNrIGNoZWNrIHByb2JlIHRo YXQgc2hvdWxkIG5vdAorICAgYmUgY29tYmluZWQgd2l0aCBvdGhlciBzdGFj ayBhZGp1c3RtZW50cy4gICovCitSRUdfTk9URSAoU1RBQ0tfQ0hFQ0spCisK IC8qIFVzZWQgdG8gbWFyayBhIGNhbGwgd2l0aCB0aGUgZnVuY3Rpb24gZGVj bCBjYWxsZWQgYnkgdGhlIGNhbGwuCiAgICBUaGUgZGVjbCBtaWdodCBub3Qg YmUgYXZhaWxhYmxlIGluIHRoZSBjYWxsIGR1ZSB0byBzcGxpdHRpbmcgb2Yg dGhlIGNhbGwKICAgIGluc24uICBUaGlzIG5vdGUgaXMgYSBTWU1CT0xfUkVG LiAgKi8KZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9p Mzg2L3N0YWNrLWNoZWNrLTExLmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJn ZXQvaTM4Ni9zdGFjay1jaGVjay0xMS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDAwMDAwMDAuLmMxN2I4YzYKLS0tIC9kZXYvbnVsbAorKysgYi9n Y2MvdGVzdHN1aXRlL2djYy50YXJnZXQvaTM4Ni9zdGFjay1jaGVjay0xMS5j CkBAIC0wLDAgKzEsMTUgQEAKKy8qIHsgZGctZG8gY29tcGlsZSB9ICovCisv KiB7IGRnLW9wdGlvbnMgIi1PMiAtZnN0YWNrLWNoZWNrPWNsYXNoIiB9ICov CisKK2V4dGVybiB2b2lkIGFyZiAodW5zaWduZWQgbG9uZyBpbnQgKiwgdW5z aWduZWQgbG9uZyBpbnQgKik7Cit2b2lkCitmcm9iICgpCit7CisgIHVuc2ln bmVkIGxvbmcgaW50IG51bVs4NTldOworICB1bnNpZ25lZCBsb25nIGludCBk ZW5bODU5XTsKKyAgYXJmIChkZW4sIG51bSk7Cit9CisKKy8qIHsgZGctZmlu YWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyAic3VicSIgNCB9IH0gKi8KKy8q IHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyAib3JxIiAzIH0g fSAqLworCg== --------------E3EACDD79F9448ACD56E280E--