From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 8EC3DCE79A9 for ; Wed, 20 Sep 2023 02:08:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:Content-Type: Content-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:From:References:CC:To:Subject: MIME-Version:Date:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=l67+TIc3pEFjIuJ/cvq1WjbG28kGpdMrmp8svJnUNzI=; b=ACnLT7ZzDiTdk8 IFRrRaL8tigbabcsPZDh9FvHKOKRhDH/Tga55vvP3hqfiH/qkYZxvgUIM5du3GOY3MRdn+5nbAoyj PQOe+Dro1nooy2YrsXHZInDC0FOTfPpHmHfNzDlpYtW0fph64Prxp6Eh86ai2DqKyWBv2tSMJU2fe +rz87sSu1SNKx2O0tb8OBX38A1ubvjA/5eJZgDwy8pO5wE+UBnAFXSiMUNii9MnSeyEUEcrqeKfjG XInCozsg1sQ0gQXnwffQ0ssQhi8gnFIzl9qaYd9h8QUleQihtrO7na/ckYVRipdYT6hByVuNvE3Rh s/ssG7KTXdAEG7/yAniw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qimdZ-001bdc-1s; Wed, 20 Sep 2023 02:08:21 +0000 Received: from szxga01-in.huawei.com ([45.249.212.187]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qimdT-001baq-2T for linux-arm-kernel@lists.infradead.org; Wed, 20 Sep 2023 02:08:19 +0000 Received: from dggpeml500021.china.huawei.com (unknown [172.30.72.54]) by szxga01-in.huawei.com (SkyGuard) with ESMTP id 4Rr1zT11w3ztSsm; Wed, 20 Sep 2023 10:03:49 +0800 (CST) Received: from [10.174.177.174] (10.174.177.174) by dggpeml500021.china.huawei.com (7.185.36.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.31; Wed, 20 Sep 2023 10:08:02 +0800 Message-ID: <8cef9531-e44d-04de-f789-cb77c63ecf4f@huawei.com> Date: Wed, 20 Sep 2023 10:08:02 +0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.1.2 Subject: Re: [PATCH] locking/atomic: scripts: fix fallback ifdeffery To: Mark Rutland , , Peter Zijlstra CC: , , , , , , , , Baokun Li , yangerkun References: <20230919171430.2697727-1-mark.rutland@arm.com> Content-Language: en-US From: Baokun Li In-Reply-To: <20230919171430.2697727-1-mark.rutland@arm.com> X-Originating-IP: [10.174.177.174] X-ClientProxiedBy: dggems704-chm.china.huawei.com (10.3.19.181) To dggpeml500021.china.huawei.com (7.185.36.21) X-CFilter-Loop: Reflected X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230919_190816_383745_B224BE87 X-CRM114-Status: GOOD ( 28.47 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gMjAyMy85LzIwIDE6MTQsIE1hcmsgUnV0bGFuZCB3cm90ZToKPiBTaW5jZSBjb21taXQ6Cj4K PiAgICA5MjU3OTU5YTZlNWI0ZmNhICgibG9ja2luZy9hdG9taWM6IHNjcmlwdHM6IHJlc3RydWN0 dXJlIGZhbGxiYWNrIGlmZGVmZmVyeSIpCj4KPiBUaGUgb3JkZXJpbmcgZmFsbGJhY2tzIGZvciBh dG9taWMqX3JlYWRfYWNxdWlyZSgpIGFuZAo+IGF0b21pYypfc2V0X3JlbGVhc2UoKSBlcnJvbmVv dXNseSBmYWxsIGJhY2sgdG8gdGhlIGltcGxpY3RseSByZWxheGVkCj4gYXRvbWljKl9yZWFkKCkg YW5kIGF0b21pYypfc2V0KCkgdmFyaWFudHMgcmVzcGVjdGl2ZWx5LCB3aXRob3V0IGFueQo+IGFk ZGl0aW9uYWwgYmFycmllcnMuIFRoaXMgbG9zZXMgdGhlIEFDUVVJUkUgYW5kIFJFTEVBU0Ugb3Jk ZXJpbmcKPiBzZW1hbnRpY3MsIHdoaWNoIGNhbiByZXN1bHQgaW4gYSB3aWRlIHZhcmlldHkgb2Yg cHJvYmxlbXMsIGV2ZW4gb24KPiBzdHJvbmdseS1vcmRlcmVkIGFyY2hpdGVjdHVyZXMgd2hlcmUg dGhlIGltcGxlbWVudGF0aW9uIG9mCj4gYXRvbWljKl9yZWFkKCkgYW5kL29yIGF0b21pYypfc2V0 KCkgYWxsb3dzIHRoZSBjb21waWxlciB0byByZW9yZGVyIHRob3NlCj4gcmVsYXRpdmUgdG8gb3Ro ZXIgYWNjZXNzZXMuCj4KPiBJbiBwcmFjdGljZSB0aGlzIGhhcyBiZWVuIG9ic2VydmVkIHRvIGJy ZWFrIGJpdCBzcGlubG9ja3Mgb24gYXJtNjQsCj4gcmVzdWx0aW5nIGluIGRlbnRyeSBjYWNoZSBj b3JydXB0aW9uLgo+Cj4gVGhlIGZhbGxiYWNrIGxvZ2ljIHdhcyBpbnRlbmRlZCB0byBhbGxvdyBB Q1FVSVJFL1JFTEVBU0UvUkVMQVhFRCBvcHMgdG8KPiBiZSBkZWZpbmVkIGluIHRlcm1zIG9mIEZV TEwgb3BzLCBidXQgd2hlcmUgYW4gb3AgaGFkIFJFTEFYRUQgb3JkZXJpbmcgYnkKPiBkZWZhdWx0 LCB0aGlzIHVuaW50ZW50aW9uYWxseSBwZXJtaXR0ZWQgdGhlIEFDUVVJUkUvUkVMRUFTRSBvcHMg dG8gYmUKPiBkZWZpbmVkIGluIHRlcm1zIG9mIHRoZSBpbXBsaWNpdGx5IFJFTEFYRUQgZGVmYXVs dC4KPgo+IFRoaXMgcGF0Y2ggY29ycmVjdHMgdGhlIGxvZ2ljIHRvIGF2b2lkIGZhbGxpbmcgYmFj ayB0byBpbXBsaWNpdGx5Cj4gUkVMQVhFRCBvcHMsIHJlc3VsdGluZyBpbiB0aGUgc2FtZSBiZWhh dmlvdXIgYXMgcHJpb3IgdG8gY29tbWl0Cj4gOTI1Nzk1OWE2ZTViNGZjYS4KPgo+IEkndmUgdmVy aWZpZWQgdGhlIHJlc3VsdGluZyBhc3NlbWJseSBvbiBhcm02NCBieSBnZW5lcmF0aW5nIG91dGxp bmVkCj4gd3JhcHBlcnMgb2YgdGhlIGF0b21pY3MuIFByaW9yIHRvIHRoaXMgcGF0Y2ggdGhlIGNv bXBpbGVyIGdlbmVyYXRlcwo+IHNlcXVlbmNlcyB1c2luZyByZWxheGVkIGxvYWQgKExEUikgYW5k IHN0b3JlIChTVFIpIGluc3RydWN0aW9ucywgZS5nLgo+Cj4gfCA8b3V0bGluZWRfYXRvbWljNjRf cmVhZF9hY3F1aXJlPjoKPiB8ICAgICAgICAgbGRyICAgICB4MCwgW3gwXQo+IHwgICAgICAgICBy ZXQKPiB8Cj4gfCA8b3V0bGluZWRfYXRvbWljNjRfc2V0X3JlbGVhc2U+Ogo+IHwgICAgICAgICBz dHIgICAgIHgxLCBbeDBdCj4gfCAgICAgICAgIHJldAo+Cj4gV2l0aCB0aGlzIHBhdGNoIGFwcGxp ZWQgdGhlIGNvbXBpbGVyIGdlbmVyYXRlcyBzZXF1ZW5jZXMgdXNpbmcgdGhlCj4gaW50ZW5kZWQg bG9hZC1hY3F1aXJlIChMREFSKSBhbmQgc3RvcmUtcmVsZWFzZSAoU1RMUikgaW5zdHJ1Y3Rpb25z LCBlLmcuCj4KPiB8IDxvdXRsaW5lZF9hdG9taWM2NF9yZWFkX2FjcXVpcmU+Ogo+IHwgICAgICAg ICBsZGFyICAgIHgwLCBbeDBdCj4gfCAgICAgICAgIHJldAo+IHwKPiB8IDxvdXRsaW5lZF9hdG9t aWM2NF9zZXRfcmVsZWFzZT46Cj4gfCAgICAgICAgIHN0bHIgICAgeDEsIFt4MF0KPiB8ICAgICAg ICAgcmV0Cj4KPiBUbyBtYWtlIHN1cmUgdGhhdCB0aGVyZSB3ZXJlIG5vIG90aGVyIHZpY3RpbXMg b2YgdGhlIGlmZGVmZmVyeSByZXdyaXRlLAo+IEkgZ2VuZXJhdGVkIG91dGxpbmVkIGNvcGllcyBv ZiBhbGwgb2YgdGhlIHthdG9taWMsYXRvbWljNjQsYXRvbWljX2xvbmd9Cj4gYXRvbWljIG9wZXJh dGlvbnMgYmVmb3JlIGFuZCBhZnRlciBjb21taXQgOTI1Nzk1OWE2ZTViNGZjYS4gQSBkaWZmIG9m Cj4gdGhlIGdlbmVyYXRlZCBhc3NlbWJseSBvbiBhcm02NCBzaG93cyB0aGF0IG9ubHkgdGhlIHJl YWRfYWNxdWlyZSgpIGFuZAo+IHNldF9yZWxlYXNlKCkgb3BlcmF0aW9ucyB3ZXJlIGNoYW5nZWQs IGFuZCBvbmx5IGxvc3QgdGhlaXIgaW50ZW5kZWQKPiBvcmRlcmluZzoKPgo+IHwgW21hcmtAbGFr cmlkczp+L3NyYy9saW51eF0lIGRpZmYgLXUgXAo+IHwgCTwoYWFyY2g2NC1saW51eC1nbnUtb2Jq ZHVtcCAtZCBiZWZvcmUtOTI1Nzk1OWE2ZTViNGZjYS5vKQo+IHwgCTwoYWFyY2g2NC1saW51eC1n bnUtb2JqZHVtcCAtZCBhZnRlci05MjU3OTU5YTZlNWI0ZmNhLm8pCj4gfCAtLS0gL3Byb2Mvc2Vs Zi9mZC8xMSAgICAyMDIzLTA5LTE5IDE2OjUxOjUxLjExNDc3OTQxNSArMDEwMAo+IHwgKysrIC9w cm9jL3NlbGYvZmQvMTYgICAgMjAyMy0wOS0xOSAxNjo1MTo1MS4xMTQ3Nzk0MTUgKzAxMDAKPiB8 IEBAIC0xLDUgKzEsNSBAQAo+IHwKPiB8IC1iZWZvcmUtOTI1Nzk1OWE2ZTViNGZjYS5vOiAgICAg ZmlsZSBmb3JtYXQgZWxmNjQtbGl0dGxlYWFyY2g2NAo+IHwgK2FmdGVyLTkyNTc5NTlhNmU1YjRm Y2EubzogICAgIGZpbGUgZm9ybWF0IGVsZjY0LWxpdHRsZWFhcmNoNjQKPiB8Cj4gfAo+IHwgIERp c2Fzc2VtYmx5IG9mIHNlY3Rpb24gLnRleHQ6Cj4gfCBAQCAtOSw3ICs5LDcgQEAKPiB8ICAgICAg ICAgNDogICAgICBkNjVmMDNjMCAgICAgICAgcmV0Cj4gfAo+IHwgIDAwMDAwMDAwMDAwMDAwMDgg PG91dGxpbmVkX2F0b21pY19yZWFkX2FjcXVpcmU+Ogo+IHwgLSAgICAgICA4OiAgICAgIDg4ZGZm YzAwICAgICAgICBsZGFyICAgIHcwLCBbeDBdCj4gfCArICAgICAgIDg6ICAgICAgYjk0MDAwMDAg ICAgICAgIGxkciAgICAgdzAsIFt4MF0KPiB8ICAgICAgICAgYzogICAgICBkNjVmMDNjMCAgICAg ICAgcmV0Cj4gfAo+IHwgIDAwMDAwMDAwMDAwMDAwMTAgPG91dGxpbmVkX2F0b21pY19zZXQ+Ogo+ IHwgQEAgLTE3LDcgKzE3LDcgQEAKPiB8ICAgICAgICAxNDogICAgICBkNjVmMDNjMCAgICAgICAg cmV0Cj4gfAo+IHwgIDAwMDAwMDAwMDAwMDAwMTggPG91dGxpbmVkX2F0b21pY19zZXRfcmVsZWFz ZT46Cj4gfCAtICAgICAgMTg6ICAgICAgODg5ZmZjMDEgICAgICAgIHN0bHIgICAgdzEsIFt4MF0K PiB8ICsgICAgICAxODogICAgICBiOTAwMDAwMSAgICAgICAgc3RyICAgICB3MSwgW3gwXQo+IHwg ICAgICAgIDFjOiAgICAgIGQ2NWYwM2MwICAgICAgICByZXQKPiB8Cj4gfCAgMDAwMDAwMDAwMDAw MDAyMCA8b3V0bGluZWRfYXRvbWljX2FkZD46Cj4gfCBAQCAtMTIzMCw3ICsxMjMwLDcgQEAKPiB8 ICAgICAgMTA3MDogICAgICBkNjVmMDNjMCAgICAgICAgcmV0Cj4gfAo+IHwgIDAwMDAwMDAwMDAw MDEwNzQgPG91dGxpbmVkX2F0b21pYzY0X3JlYWRfYWNxdWlyZT46Cj4gfCAtICAgIDEwNzQ6ICAg ICAgYzhkZmZjMDAgICAgICAgIGxkYXIgICAgeDAsIFt4MF0KPiB8ICsgICAgMTA3NDogICAgICBm OTQwMDAwMCAgICAgICAgbGRyICAgICB4MCwgW3gwXQo+IHwgICAgICAxMDc4OiAgICAgIGQ2NWYw M2MwICAgICAgICByZXQKPiB8Cj4gfCAgMDAwMDAwMDAwMDAwMTA3YyA8b3V0bGluZWRfYXRvbWlj NjRfc2V0PjoKPiB8IEBAIC0xMjM4LDcgKzEyMzgsNyBAQAo+IHwgICAgICAxMDgwOiAgICAgIGQ2 NWYwM2MwICAgICAgICByZXQKPiB8Cj4gfCAgMDAwMDAwMDAwMDAwMTA4NCA8b3V0bGluZWRfYXRv bWljNjRfc2V0X3JlbGVhc2U+Ogo+IHwgLSAgICAxMDg0OiAgICAgIGM4OWZmYzAxICAgICAgICBz dGxyICAgIHgxLCBbeDBdCj4gfCArICAgIDEwODQ6ICAgICAgZjkwMDAwMDEgICAgICAgIHN0ciAg ICAgeDEsIFt4MF0KPiB8ICAgICAgMTA4ODogICAgICBkNjVmMDNjMCAgICAgICAgcmV0Cj4gfAo+ IHwgIDAwMDAwMDAwMDAwMDEwOGMgPG91dGxpbmVkX2F0b21pYzY0X2FkZD46Cj4gfCBAQCAtMjQy Nyw3ICsyNDI3LDcgQEAKPiB8ICAgICAgMjA3YzogICAgICBkNjVmMDNjMCAgICAgICAgcmV0Cj4g fAo+IHwgIDAwMDAwMDAwMDAwMDIwODAgPG91dGxpbmVkX2F0b21pY19sb25nX3JlYWRfYWNxdWly ZT46Cj4gfCAtICAgIDIwODA6ICAgICAgYzhkZmZjMDAgICAgICAgIGxkYXIgICAgeDAsIFt4MF0K PiB8ICsgICAgMjA4MDogICAgICBmOTQwMDAwMCAgICAgICAgbGRyICAgICB4MCwgW3gwXQo+IHwg ICAgICAyMDg0OiAgICAgIGQ2NWYwM2MwICAgICAgICByZXQKPiB8Cj4gfCAgMDAwMDAwMDAwMDAw MjA4OCA8b3V0bGluZWRfYXRvbWljX2xvbmdfc2V0PjoKPiB8IEBAIC0yNDM1LDcgKzI0MzUsNyBA QAo+IHwgICAgICAyMDhjOiAgICAgIGQ2NWYwM2MwICAgICAgICByZXQKPiB8Cj4gfCAgMDAwMDAw MDAwMDAwMjA5MCA8b3V0bGluZWRfYXRvbWljX2xvbmdfc2V0X3JlbGVhc2U+Ogo+IHwgLSAgICAy MDkwOiAgICAgIGM4OWZmYzAxICAgICAgICBzdGxyICAgIHgxLCBbeDBdCj4gfCArICAgIDIwOTA6 ICAgICAgZjkwMDAwMDEgICAgICAgIHN0ciAgICAgeDEsIFt4MF0KPiB8ICAgICAgMjA5NDogICAg ICBkNjVmMDNjMCAgICAgICAgcmV0Cj4gfAo+IHwgIDAwMDAwMDAwMDAwMDIwOTggPG91dGxpbmVk X2F0b21pY19sb25nX2FkZD46Cj4KPiBJJ3ZlIGJ1aWxkIHRlc3RlZCB0aGlzIHdpdGggYSB2YXJp ZXR5IG9mIGNvbmZpZ3MgZm9yIGFscGhhLCBhcm0sIGFybTY0LAo+IGNza3ksIGkzODYsIG02OGss IG1pY3JvYmxhemUsIG1pcHMsIG5pb3MyLCBvcGVucmlzYywgcG93ZXJwYywgcmlzY3YsCj4gczM5 MCwgc2gsIHNwYXJjLCB4ODZfNjQsIGFuZCB4dGVuc2EsIGZvciB3aGljaCBJJ3ZlIHNlZW4gbm8g aXNzdWVzLiBJCj4gd2FzIHVuYWJsZSB0byBidWlsZCB0ZXN0IGZvciBpYTY0IGFuZCBwYXJpc2Mg ZHVlIHRvIGV4aXN0aW5nIGJ1aWxkCj4gYnJlYWthZ2UgaW4gdjYuNi1yYzIuCj4KPiBGaXhlczog OTI1Nzk1OWE2ZTViNGZjYSAoImxvY2tpbmcvYXRvbWljOiBzY3JpcHRzOiByZXN0cnVjdHVyZSBm YWxsYmFjayBpZmRlZmZlcnkiKQo+IFJlcG9ydGVkLWJ5OiBNaW5nIExlaSA8bWluZy5sZWlAcmVk aGF0LmNvbT4KPiBMaW5rOiBodHRwczovL2xvcmUua2VybmVsLm9yZy9hbGwvWk9XRnRxQTJvbTB3 NVZtekBmZWRvcmEvCj4gUmVwb3J0ZWQtYnk6IERhcnJpY2sgSi4gV29uZyA8ZGp3b25nQGtlcm5l bC5vcmc+Cj4gTGluazogaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvbGludXgtZnNkZXZlbC8yMDIz MDkxMjE3MzAyNi5HQTMzODkxMjdAZnJvZ3Nmcm9nc2Zyb2dzLwo+IFNpZ25lZC1vZmYtYnk6IE1h cmsgUnV0bGFuZCA8bWFyay5ydXRsYW5kQGFybS5jb20+CgpUaGFuayB5b3XCoCBmb3IgdGhlIHBh dGNoIHRoYXQgZml4ZXMgdGhpcyBpc3N1ZSEKCkkgdGVzdGVkIHRoZSBwYXRjaCBhbmQgY29uZmly bWVkIHRoYXQgaGxpc3RfYmxfbG9jayBub3cgcHJvdmlkZXMgdGhlIApndWFyYW50ZWVzIGl0IHNo b3VsZC4KClRlc3RlZC1ieTogQmFva3VuIExpIDxsaWJhb2t1bjFAaHVhd2VpLmNvbT4KCgpDaGVl cnMhCkJhb2t1biBMaQo+IENjOiBCYW9rdW4gTGkgPGxpYmFva3VuMUBodWF3ZWkuY29tPgo+IENj OiBCb3F1biBGZW5nIDxib3F1bi5mZW5nQGdtYWlsLmNvbT4KPiBDYzogRGFycmljayBKLiBXb25n IDxkandvbmdAa2VybmVsLm9yZz4KPiBDYzogRGF2ZSBDaGlubmVyIDxkYXZpZEBmcm9tb3JiaXQu Y29tPgo+IENjOiBLZW50IE92ZXJzdHJlZXQgPGtlbnQub3ZlcnN0cmVldEBsaW51eC5kZXY+Cj4g Q2M6IE1pbmcgTGVpIDxtaW5nLmxlaUByZWRoYXQuY29tPgo+IENjOiBQZXRlciBaaWpsc3RyYSA8 cGV0ZXJ6QGluZnJhZGVhZC5vcmc+Cj4gQ2M6IFdpbGwgRGVhY29uIDx3aWxsQGtlcm5lbC5vcmc+ Cj4gQ2M6IFlpIFpoYW5nIDx5aS56aGFuZ0ByZWRoYXQuY29tPgo+IENjOiBsaW51eC1hcm0ta2Vy bmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKPiAtLS0KPiAgIGluY2x1ZGUvbGludXgvYXRvbWljL2F0 b21pYy1hcmNoLWZhbGxiYWNrLmggfCAxMCArLS0tLS0tLS0tCj4gICBzY3JpcHRzL2F0b21pYy9n ZW4tYXRvbWljLWZhbGxiYWNrLnNoICAgICAgIHwgIDIgKy0KPiAgIDIgZmlsZXMgY2hhbmdlZCwg MiBpbnNlcnRpb25zKCspLCAxMCBkZWxldGlvbnMoLSkKPgo+IFBldGVyLCBhcmUgeW91IGhhcHB5 IHRvIHF1ZXVlIHRoaXMgaW4gdGhlIHRpcCB0cmVlPyBJdCdzIGEgcHJldHR5IG5hc3R5Cj4gcmVn cmVzc3Npb24gaW4gdjYuNSwgYW5kIEknZCBsaWtlIHRvIGdldCB0aGlzIGluIGFzIGEgZml4IGZv ciB2Ni42IEFTQVAuCj4KPiBUaGFua3MsCj4gTWFyay4KPgo+IGRpZmYgLS1naXQgYS9pbmNsdWRl L2xpbnV4L2F0b21pYy9hdG9taWMtYXJjaC1mYWxsYmFjay5oIGIvaW5jbHVkZS9saW51eC9hdG9t aWMvYXRvbWljLWFyY2gtZmFsbGJhY2suaAo+IGluZGV4IDE4ZjU3NDRkZmI1ZDguLmI4M2VmMTlk YTEzZGUgMTAwNjQ0Cj4gLS0tIGEvaW5jbHVkZS9saW51eC9hdG9taWMvYXRvbWljLWFyY2gtZmFs bGJhY2suaAo+ICsrKyBiL2luY2x1ZGUvbGludXgvYXRvbWljL2F0b21pYy1hcmNoLWZhbGxiYWNr LmgKPiBAQCAtNDU5LDggKzQ1OSw2IEBAIHJhd19hdG9taWNfcmVhZF9hY3F1aXJlKGNvbnN0IGF0 b21pY190ICp2KQo+ICAgewo+ICAgI2lmIGRlZmluZWQoYXJjaF9hdG9taWNfcmVhZF9hY3F1aXJl KQo+ICAgCXJldHVybiBhcmNoX2F0b21pY19yZWFkX2FjcXVpcmUodik7Cj4gLSNlbGlmIGRlZmlu ZWQoYXJjaF9hdG9taWNfcmVhZCkKPiAtCXJldHVybiBhcmNoX2F0b21pY19yZWFkKHYpOwo+ICAg I2Vsc2UKPiAgIAlpbnQgcmV0Owo+ICAgCj4gQEAgLTUwOCw4ICs1MDYsNiBAQCByYXdfYXRvbWlj X3NldF9yZWxlYXNlKGF0b21pY190ICp2LCBpbnQgaSkKPiAgIHsKPiAgICNpZiBkZWZpbmVkKGFy Y2hfYXRvbWljX3NldF9yZWxlYXNlKQo+ICAgCWFyY2hfYXRvbWljX3NldF9yZWxlYXNlKHYsIGkp Owo+IC0jZWxpZiBkZWZpbmVkKGFyY2hfYXRvbWljX3NldCkKPiAtCWFyY2hfYXRvbWljX3NldCh2 LCBpKTsKPiAgICNlbHNlCj4gICAJaWYgKF9fbmF0aXZlX3dvcmQoYXRvbWljX3QpKSB7Cj4gICAJ CXNtcF9zdG9yZV9yZWxlYXNlKCYodiktPmNvdW50ZXIsIGkpOwo+IEBAIC0yNTc1LDggKzI1NzEs NiBAQCByYXdfYXRvbWljNjRfcmVhZF9hY3F1aXJlKGNvbnN0IGF0b21pYzY0X3QgKnYpCj4gICB7 Cj4gICAjaWYgZGVmaW5lZChhcmNoX2F0b21pYzY0X3JlYWRfYWNxdWlyZSkKPiAgIAlyZXR1cm4g YXJjaF9hdG9taWM2NF9yZWFkX2FjcXVpcmUodik7Cj4gLSNlbGlmIGRlZmluZWQoYXJjaF9hdG9t aWM2NF9yZWFkKQo+IC0JcmV0dXJuIGFyY2hfYXRvbWljNjRfcmVhZCh2KTsKPiAgICNlbHNlCj4g ICAJczY0IHJldDsKPiAgIAo+IEBAIC0yNjI0LDggKzI2MTgsNiBAQCByYXdfYXRvbWljNjRfc2V0 X3JlbGVhc2UoYXRvbWljNjRfdCAqdiwgczY0IGkpCj4gICB7Cj4gICAjaWYgZGVmaW5lZChhcmNo X2F0b21pYzY0X3NldF9yZWxlYXNlKQo+ICAgCWFyY2hfYXRvbWljNjRfc2V0X3JlbGVhc2Uodiwg aSk7Cj4gLSNlbGlmIGRlZmluZWQoYXJjaF9hdG9taWM2NF9zZXQpCj4gLQlhcmNoX2F0b21pYzY0 X3NldCh2LCBpKTsKPiAgICNlbHNlCj4gICAJaWYgKF9fbmF0aXZlX3dvcmQoYXRvbWljNjRfdCkp IHsKPiAgIAkJc21wX3N0b3JlX3JlbGVhc2UoJih2KS0+Y291bnRlciwgaSk7Cj4gQEAgLTQ2NTcs NCArNDY0OSw0IEBAIHJhd19hdG9taWM2NF9kZWNfaWZfcG9zaXRpdmUoYXRvbWljNjRfdCAqdikK PiAgIH0KPiAgIAo+ICAgI2VuZGlmIC8qIF9MSU5VWF9BVE9NSUNfRkFMTEJBQ0tfSCAqLwo+IC0v LyAyMDJiNDVjN2RiNjAwY2UzNjE5OGViMWYxZmMyYzJkNTI2OGFjZTJkCj4gKy8vIDJmZGQ2NzAy ODIzZmE4NDJmOWNlYTU3YTAwMmU2ZTQ0NzZhZTc4MGMKPiBkaWZmIC0tZ2l0IGEvc2NyaXB0cy9h dG9taWMvZ2VuLWF0b21pYy1mYWxsYmFjay5zaCBiL3NjcmlwdHMvYXRvbWljL2dlbi1hdG9taWMt ZmFsbGJhY2suc2gKPiBpbmRleCBjMGM4YTg1ZDdjODFiLi5hNDUxNTRjZWZhNDg3IDEwMDc1NQo+ IC0tLSBhL3NjcmlwdHMvYXRvbWljL2dlbi1hdG9taWMtZmFsbGJhY2suc2gKPiArKysgYi9zY3Jp cHRzL2F0b21pYy9nZW4tYXRvbWljLWZhbGxiYWNrLnNoCj4gQEAgLTEwMiw3ICsxMDIsNyBAQCBn ZW5fcHJvdG9fb3JkZXJfdmFyaWFudCgpCj4gICAJZmkKPiAgIAo+ICAgCSMgQWxsb3cgQUNRVUlS RS9SRUxFQVNFL1JFTEFYRUQgb3BzIHRvIGJlIGRlZmluZWQgaW4gdGVybXMgb2YgRlVMTCBvcHMK PiAtCWlmIFsgISAteiAiJHtvcmRlcn0iIF07IHRoZW4KPiArCWlmIFsgISAteiAiJHtvcmRlcn0i IF0gJiYgISBtZXRhX2lzX2ltcGxpY2l0bHlfcmVsYXhlZCAiJHttZXRhfSI7IHRoZW4KPiAgIAkJ cHJpbnRmICIjZWxpZiBkZWZpbmVkKGFyY2hfJHtiYXNlbmFtZX0pXG4iCj4gICAJCXByaW50ZiAi XHQke3JldHN0bXR9YXJjaF8ke2Jhc2VuYW1lfSgke2FyZ3N9KTtcbiIKPiAgIAlmaQoKCgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2Vy bmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0 cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVs Cg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8D643CE79A9 for ; Wed, 20 Sep 2023 02:08:19 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231799AbjITCIQ (ORCPT ); Tue, 19 Sep 2023 22:08:16 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51446 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231174AbjITCIN (ORCPT ); Tue, 19 Sep 2023 22:08:13 -0400 Received: from szxga01-in.huawei.com (szxga01-in.huawei.com [45.249.212.187]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 806599F for ; Tue, 19 Sep 2023 19:08:06 -0700 (PDT) Received: from dggpeml500021.china.huawei.com (unknown [172.30.72.54]) by szxga01-in.huawei.com (SkyGuard) with ESMTP id 4Rr1zT11w3ztSsm; Wed, 20 Sep 2023 10:03:49 +0800 (CST) Received: from [10.174.177.174] (10.174.177.174) by dggpeml500021.china.huawei.com (7.185.36.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.31; Wed, 20 Sep 2023 10:08:02 +0800 Message-ID: <8cef9531-e44d-04de-f789-cb77c63ecf4f@huawei.com> Date: Wed, 20 Sep 2023 10:08:02 +0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.1.2 Subject: Re: [PATCH] locking/atomic: scripts: fix fallback ifdeffery To: Mark Rutland , , Peter Zijlstra CC: , , , , , , , , Baokun Li , yangerkun References: <20230919171430.2697727-1-mark.rutland@arm.com> Content-Language: en-US From: Baokun Li In-Reply-To: <20230919171430.2697727-1-mark.rutland@arm.com> Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 8bit X-Originating-IP: [10.174.177.174] X-ClientProxiedBy: dggems704-chm.china.huawei.com (10.3.19.181) To dggpeml500021.china.huawei.com (7.185.36.21) X-CFilter-Loop: Reflected Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2023/9/20 1:14, Mark Rutland wrote: > Since commit: > > 9257959a6e5b4fca ("locking/atomic: scripts: restructure fallback ifdeffery") > > The ordering fallbacks for atomic*_read_acquire() and > atomic*_set_release() erroneously fall back to the implictly relaxed > atomic*_read() and atomic*_set() variants respectively, without any > additional barriers. This loses the ACQUIRE and RELEASE ordering > semantics, which can result in a wide variety of problems, even on > strongly-ordered architectures where the implementation of > atomic*_read() and/or atomic*_set() allows the compiler to reorder those > relative to other accesses. > > In practice this has been observed to break bit spinlocks on arm64, > resulting in dentry cache corruption. > > The fallback logic was intended to allow ACQUIRE/RELEASE/RELAXED ops to > be defined in terms of FULL ops, but where an op had RELAXED ordering by > default, this unintentionally permitted the ACQUIRE/RELEASE ops to be > defined in terms of the implicitly RELAXED default. > > This patch corrects the logic to avoid falling back to implicitly > RELAXED ops, resulting in the same behaviour as prior to commit > 9257959a6e5b4fca. > > I've verified the resulting assembly on arm64 by generating outlined > wrappers of the atomics. Prior to this patch the compiler generates > sequences using relaxed load (LDR) and store (STR) instructions, e.g. > > | : > | ldr x0, [x0] > | ret > | > | : > | str x1, [x0] > | ret > > With this patch applied the compiler generates sequences using the > intended load-acquire (LDAR) and store-release (STLR) instructions, e.g. > > | : > | ldar x0, [x0] > | ret > | > | : > | stlr x1, [x0] > | ret > > To make sure that there were no other victims of the ifdeffery rewrite, > I generated outlined copies of all of the {atomic,atomic64,atomic_long} > atomic operations before and after commit 9257959a6e5b4fca. A diff of > the generated assembly on arm64 shows that only the read_acquire() and > set_release() operations were changed, and only lost their intended > ordering: > > | [mark@lakrids:~/src/linux]% diff -u \ > | <(aarch64-linux-gnu-objdump -d before-9257959a6e5b4fca.o) > | <(aarch64-linux-gnu-objdump -d after-9257959a6e5b4fca.o) > | --- /proc/self/fd/11 2023-09-19 16:51:51.114779415 +0100 > | +++ /proc/self/fd/16 2023-09-19 16:51:51.114779415 +0100 > | @@ -1,5 +1,5 @@ > | > | -before-9257959a6e5b4fca.o: file format elf64-littleaarch64 > | +after-9257959a6e5b4fca.o: file format elf64-littleaarch64 > | > | > | Disassembly of section .text: > | @@ -9,7 +9,7 @@ > | 4: d65f03c0 ret > | > | 0000000000000008 : > | - 8: 88dffc00 ldar w0, [x0] > | + 8: b9400000 ldr w0, [x0] > | c: d65f03c0 ret > | > | 0000000000000010 : > | @@ -17,7 +17,7 @@ > | 14: d65f03c0 ret > | > | 0000000000000018 : > | - 18: 889ffc01 stlr w1, [x0] > | + 18: b9000001 str w1, [x0] > | 1c: d65f03c0 ret > | > | 0000000000000020 : > | @@ -1230,7 +1230,7 @@ > | 1070: d65f03c0 ret > | > | 0000000000001074 : > | - 1074: c8dffc00 ldar x0, [x0] > | + 1074: f9400000 ldr x0, [x0] > | 1078: d65f03c0 ret > | > | 000000000000107c : > | @@ -1238,7 +1238,7 @@ > | 1080: d65f03c0 ret > | > | 0000000000001084 : > | - 1084: c89ffc01 stlr x1, [x0] > | + 1084: f9000001 str x1, [x0] > | 1088: d65f03c0 ret > | > | 000000000000108c : > | @@ -2427,7 +2427,7 @@ > | 207c: d65f03c0 ret > | > | 0000000000002080 : > | - 2080: c8dffc00 ldar x0, [x0] > | + 2080: f9400000 ldr x0, [x0] > | 2084: d65f03c0 ret > | > | 0000000000002088 : > | @@ -2435,7 +2435,7 @@ > | 208c: d65f03c0 ret > | > | 0000000000002090 : > | - 2090: c89ffc01 stlr x1, [x0] > | + 2090: f9000001 str x1, [x0] > | 2094: d65f03c0 ret > | > | 0000000000002098 : > > I've build tested this with a variety of configs for alpha, arm, arm64, > csky, i386, m68k, microblaze, mips, nios2, openrisc, powerpc, riscv, > s390, sh, sparc, x86_64, and xtensa, for which I've seen no issues. I > was unable to build test for ia64 and parisc due to existing build > breakage in v6.6-rc2. > > Fixes: 9257959a6e5b4fca ("locking/atomic: scripts: restructure fallback ifdeffery") > Reported-by: Ming Lei > Link: https://lore.kernel.org/all/ZOWFtqA2om0w5Vmz@fedora/ > Reported-by: Darrick J. Wong > Link: https://lore.kernel.org/linux-fsdevel/20230912173026.GA3389127@frogsfrogsfrogs/ > Signed-off-by: Mark Rutland Thank you  for the patch that fixes this issue! I tested the patch and confirmed that hlist_bl_lock now provides the guarantees it should. Tested-by: Baokun Li Cheers! Baokun Li > Cc: Baokun Li > Cc: Boqun Feng > Cc: Darrick J. Wong > Cc: Dave Chinner > Cc: Kent Overstreet > Cc: Ming Lei > Cc: Peter Zijlstra > Cc: Will Deacon > Cc: Yi Zhang > Cc: linux-arm-kernel@lists.infradead.org > --- > include/linux/atomic/atomic-arch-fallback.h | 10 +--------- > scripts/atomic/gen-atomic-fallback.sh | 2 +- > 2 files changed, 2 insertions(+), 10 deletions(-) > > Peter, are you happy to queue this in the tip tree? It's a pretty nasty > regresssion in v6.5, and I'd like to get this in as a fix for v6.6 ASAP. > > Thanks, > Mark. > > diff --git a/include/linux/atomic/atomic-arch-fallback.h b/include/linux/atomic/atomic-arch-fallback.h > index 18f5744dfb5d8..b83ef19da13de 100644 > --- a/include/linux/atomic/atomic-arch-fallback.h > +++ b/include/linux/atomic/atomic-arch-fallback.h > @@ -459,8 +459,6 @@ raw_atomic_read_acquire(const atomic_t *v) > { > #if defined(arch_atomic_read_acquire) > return arch_atomic_read_acquire(v); > -#elif defined(arch_atomic_read) > - return arch_atomic_read(v); > #else > int ret; > > @@ -508,8 +506,6 @@ raw_atomic_set_release(atomic_t *v, int i) > { > #if defined(arch_atomic_set_release) > arch_atomic_set_release(v, i); > -#elif defined(arch_atomic_set) > - arch_atomic_set(v, i); > #else > if (__native_word(atomic_t)) { > smp_store_release(&(v)->counter, i); > @@ -2575,8 +2571,6 @@ raw_atomic64_read_acquire(const atomic64_t *v) > { > #if defined(arch_atomic64_read_acquire) > return arch_atomic64_read_acquire(v); > -#elif defined(arch_atomic64_read) > - return arch_atomic64_read(v); > #else > s64 ret; > > @@ -2624,8 +2618,6 @@ raw_atomic64_set_release(atomic64_t *v, s64 i) > { > #if defined(arch_atomic64_set_release) > arch_atomic64_set_release(v, i); > -#elif defined(arch_atomic64_set) > - arch_atomic64_set(v, i); > #else > if (__native_word(atomic64_t)) { > smp_store_release(&(v)->counter, i); > @@ -4657,4 +4649,4 @@ raw_atomic64_dec_if_positive(atomic64_t *v) > } > > #endif /* _LINUX_ATOMIC_FALLBACK_H */ > -// 202b45c7db600ce36198eb1f1fc2c2d5268ace2d > +// 2fdd6702823fa842f9cea57a002e6e4476ae780c > diff --git a/scripts/atomic/gen-atomic-fallback.sh b/scripts/atomic/gen-atomic-fallback.sh > index c0c8a85d7c81b..a45154cefa487 100755 > --- a/scripts/atomic/gen-atomic-fallback.sh > +++ b/scripts/atomic/gen-atomic-fallback.sh > @@ -102,7 +102,7 @@ gen_proto_order_variant() > fi > > # Allow ACQUIRE/RELEASE/RELAXED ops to be defined in terms of FULL ops > - if [ ! -z "${order}" ]; then > + if [ ! -z "${order}" ] && ! meta_is_implicitly_relaxed "${meta}"; then > printf "#elif defined(arch_${basename})\n" > printf "\t${retstmt}arch_${basename}(${args});\n" > fi