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 X-Spam-Level: X-Spam-Status: No, score=-8.2 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7A013C433E0 for ; Fri, 29 May 2020 09:37:45 +0000 (UTC) Received: from ml01.01.org (ml01.01.org [198.145.21.10]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 52F4420810 for ; Fri, 29 May 2020 09:37:45 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 52F4420810 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linux.ibm.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-nvdimm-bounces@lists.01.org Received: from ml01.vlan13.01.org (localhost [IPv6:::1]) by ml01.01.org (Postfix) with ESMTP id BCC7A12313CFB; Fri, 29 May 2020 02:33:21 -0700 (PDT) Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=148.163.156.1; helo=mx0a-001b2d01.pphosted.com; envelope-from=aneesh.kumar@linux.ibm.com; receiver= Received: from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com [148.163.156.1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 3F1A21230F47F for ; Fri, 29 May 2020 02:33:20 -0700 (PDT) Received: from pps.filterd (m0098399.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id 04T9WvOC009538; Fri, 29 May 2020 05:37:39 -0400 Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com with ESMTP id 31as1bu4v5-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 29 May 2020 05:37:39 -0400 Received: from m0098399.ppops.net (m0098399.ppops.net [127.0.0.1]) by pps.reinject (8.16.0.36/8.16.0.36) with SMTP id 04T9aFad024099; Fri, 29 May 2020 05:37:38 -0400 Received: from ppma04ams.nl.ibm.com (63.31.33a9.ip4.static.sl-reverse.com [169.51.49.99]) by mx0a-001b2d01.pphosted.com with ESMTP id 31as1bu4tv-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 29 May 2020 05:37:38 -0400 Received: from pps.filterd (ppma04ams.nl.ibm.com [127.0.0.1]) by ppma04ams.nl.ibm.com (8.16.0.42/8.16.0.42) with SMTP id 04T9ZbDf019231; Fri, 29 May 2020 09:37:36 GMT Received: from b06avi18626390.portsmouth.uk.ibm.com (b06avi18626390.portsmouth.uk.ibm.com [9.149.26.192]) by ppma04ams.nl.ibm.com with ESMTP id 316uf93ns9-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 29 May 2020 09:37:36 +0000 Received: from d06av25.portsmouth.uk.ibm.com (d06av25.portsmouth.uk.ibm.com [9.149.105.61]) by b06avi18626390.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 04T9aKgi63504852 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 29 May 2020 09:36:20 GMT Received: from d06av25.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 243A611C058; Fri, 29 May 2020 09:37:34 +0000 (GMT) Received: from d06av25.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 4912F11C05C; Fri, 29 May 2020 09:37:32 +0000 (GMT) Received: from [9.85.84.128] (unknown [9.85.84.128]) by d06av25.portsmouth.uk.ibm.com (Postfix) with ESMTP; Fri, 29 May 2020 09:37:32 +0000 (GMT) Subject: Re: [RFC PATCH 1/2] libnvdimm: Add prctl control for disabling synchronous fault support. To: =?UTF-8?Q?Michal_Such=c3=a1nek?= , jack@suse.de References: <20200529054141.156384-1-aneesh.kumar@linux.ibm.com> <20200529093310.GL25173@kitsune.suse.cz> From: "Aneesh Kumar K.V" Message-ID: <6183cf4a-d134-99e5-936e-ef35f530c2ec@linux.ibm.com> Date: Fri, 29 May 2020 15:07:31 +0530 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.8.0 MIME-Version: 1.0 In-Reply-To: <20200529093310.GL25173@kitsune.suse.cz> Content-Language: en-US X-TM-AS-GCONF: 00 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.216,18.0.687 definitions=2020-05-29_02:2020-05-28,2020-05-29 signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 phishscore=0 mlxscore=0 impostorscore=0 spamscore=0 suspectscore=0 bulkscore=0 malwarescore=0 mlxlogscore=999 adultscore=0 cotscore=-2147483648 lowpriorityscore=0 clxscore=1011 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2004280000 definitions=main-2005290075 Message-ID-Hash: R25KFAUWDV5QGJ3TVGIXXS4NRXG3UCPR X-Message-ID-Hash: R25KFAUWDV5QGJ3TVGIXXS4NRXG3UCPR X-MailFrom: aneesh.kumar@linux.ibm.com X-Mailman-Rule-Hits: nonmember-moderation X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation CC: linuxppc-dev@lists.ozlabs.org, mpe@ellerman.id.au, linux-nvdimm@lists.01.org X-Mailman-Version: 3.1.1 Precedence: list List-Id: "Linux-nvdimm developer list." Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: Content-Type: text/plain; charset="utf-8"; format="flowed" Content-Transfer-Encoding: base64 SGksDQoNCg0KVGhhbmtzIE1pY2hhbC4gSSBhbHNvIG1pc3NlZCBKZWZmIGluIHRoaXMgZW1haWwg dGhyZWFkLg0KDQotYW5lZXNoDQoNCk9uIDUvMjkvMjAgMzowMyBQTSwgTWljaGFsIFN1Y2jDoW5l ayB3cm90ZToNCj4gQWRkaW5nIEphbg0KPiANCj4gT24gRnJpLCBNYXkgMjksIDIwMjAgYXQgMTE6 MTE6MzlBTSArMDUzMCwgQW5lZXNoIEt1bWFyIEsuViB3cm90ZToNCj4+IFdpdGggUE9XRVIxMCwg YXJjaGl0ZWN0dXJlIGlzIGFkZGluZyBuZXcgcG1lbSBmbHVzaCBhbmQgc3luYyBpbnN0cnVjdGlv bnMuDQo+PiBUaGUga2VybmVsIHNob3VsZCBwcmV2ZW50IHRoZSB1c2FnZSBvZiBNQVBfU1lOQyBp ZiBhcHBsaWNhdGlvbnMgYXJlIG5vdCB1c2luZw0KPj4gdGhlIG5ldyBpbnN0cnVjdGlvbnMgb24g bmV3ZXIgaGFyZHdhcmUuDQo+Pg0KPj4gVGhpcyBwYXRjaCBhZGRzIGEgcHJjdGwgb3B0aW9uIE1B UF9TWU5DX0VOQUJMRSB0aGF0IGNhbiBiZSB1c2VkIHRvIGVuYWJsZQ0KPj4gdGhlIHVzYWdlIG9m IE1BUF9TWU5DLiBUaGUga2VybmVsIGNvbmZpZyBvcHRpb24gaXMgYWRkZWQgdG8gYWxsb3cgdGhl IHVzZXINCj4+IHRvIGNvbnRyb2wgd2hldGhlciBNQVBfU1lOQyBzaG91bGQgYmUgZW5hYmxlZCBi eSBkZWZhdWx0IG9yIG5vdC4NCj4+DQo+PiBTaWduZWQtb2ZmLWJ5OiBBbmVlc2ggS3VtYXIgSy5W IDxhbmVlc2gua3VtYXJAbGludXguaWJtLmNvbT4NCj4+IC0tLQ0KPj4gICBpbmNsdWRlL2xpbnV4 L3NjaGVkL2NvcmVkdW1wLmggfCAxMyArKysrKysrKysrLS0tDQo+PiAgIGluY2x1ZGUvdWFwaS9s aW51eC9wcmN0bC5oICAgICB8ICAzICsrKw0KPj4gICBrZXJuZWwvZm9yay5jICAgICAgICAgICAg ICAgICAgfCAgOCArKysrKysrLQ0KPj4gICBrZXJuZWwvc3lzLmMgICAgICAgICAgICAgICAgICAg fCAxOCArKysrKysrKysrKysrKysrKysNCj4+ICAgbW0vS2NvbmZpZyAgICAgICAgICAgICAgICAg ICAgIHwgIDMgKysrDQo+PiAgIG1tL21tYXAuYyAgICAgICAgICAgICAgICAgICAgICB8ICA0ICsr KysNCj4+ICAgNiBmaWxlcyBjaGFuZ2VkLCA0NSBpbnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygt KQ0KPj4NCj4+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L3NjaGVkL2NvcmVkdW1wLmggYi9p bmNsdWRlL2xpbnV4L3NjaGVkL2NvcmVkdW1wLmgNCj4+IGluZGV4IGVjZGM2NTQyMDcwZi4uOWJh NmIzZDVmOTkxIDEwMDY0NA0KPj4gLS0tIGEvaW5jbHVkZS9saW51eC9zY2hlZC9jb3JlZHVtcC5o DQo+PiArKysgYi9pbmNsdWRlL2xpbnV4L3NjaGVkL2NvcmVkdW1wLmgNCj4+IEBAIC03Miw5ICs3 MiwxNiBAQCBzdGF0aWMgaW5saW5lIGludCBnZXRfZHVtcGFibGUoc3RydWN0IG1tX3N0cnVjdCAq bW0pDQo+PiAgICNkZWZpbmUgTU1GX0RJU0FCTEVfVEhQCQkyNAkvKiBkaXNhYmxlIFRIUCBmb3Ig YWxsIFZNQXMgKi8NCj4+ICAgI2RlZmluZSBNTUZfT09NX1ZJQ1RJTQkJMjUJLyogbW0gaXMgdGhl IG9vbSB2aWN0aW0gKi8NCj4+ICAgI2RlZmluZSBNTUZfT09NX1JFQVBfUVVFVUVECTI2CS8qIG1t IHdhcyBxdWV1ZWQgZm9yIG9vbV9yZWFwZXIgKi8NCj4+IC0jZGVmaW5lIE1NRl9ESVNBQkxFX1RI UF9NQVNLCSgxIDw8IE1NRl9ESVNBQkxFX1RIUCkNCj4+ICsjZGVmaW5lIE1NRl9ESVNBQkxFX01B UF9TWU5DCTI3CS8qIGRpc2FibGUgVEhQIGZvciBhbGwgVk1BcyAqLw0KPj4gKyNkZWZpbmUgTU1G X0RJU0FCTEVfVEhQX01BU0sJCSgxIDw8IE1NRl9ESVNBQkxFX1RIUCkNCj4+ICsjZGVmaW5lIE1N Rl9ESVNBQkxFX01BUF9TWU5DX01BU0sJKDEgPDwgTU1GX0RJU0FCTEVfTUFQX1NZTkMpDQo+PiAg IA0KPj4gLSNkZWZpbmUgTU1GX0lOSVRfTUFTSwkJKE1NRl9EVU1QQUJMRV9NQVNLIHwgTU1GX0RV TVBfRklMVEVSX01BU0sgfFwNCj4+IC0JCQkJIE1NRl9ESVNBQkxFX1RIUF9NQVNLKQ0KPj4gKyNk ZWZpbmUgTU1GX0lOSVRfTUFTSwkJKE1NRl9EVU1QQUJMRV9NQVNLIHwgTU1GX0RVTVBfRklMVEVS X01BU0sgfCBcDQo+PiArCQkJTU1GX0RJU0FCTEVfVEhQX01BU0sgfCBNTUZfRElTQUJMRV9NQVBf U1lOQ19NQVNLKQ0KPj4gKw0KPj4gK3N0YXRpYyBpbmxpbmUgYm9vbCBtYXBfc3luY19lbmFibGVk KHN0cnVjdCBtbV9zdHJ1Y3QgKm1tKQ0KPj4gK3sNCj4+ICsJcmV0dXJuICEobW0tPmZsYWdzICYg TU1GX0RJU0FCTEVfTUFQX1NZTkNfTUFTSyk7DQo+PiArfQ0KPj4gICANCj4+ICAgI2VuZGlmIC8q IF9MSU5VWF9TQ0hFRF9DT1JFRFVNUF9IICovDQo+PiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS91YXBp L2xpbnV4L3ByY3RsLmggYi9pbmNsdWRlL3VhcGkvbGludXgvcHJjdGwuaA0KPj4gaW5kZXggMDdi NGY4MTMxZTM2Li5lZTRjZGUzMmQ1Y2YgMTAwNjQ0DQo+PiAtLS0gYS9pbmNsdWRlL3VhcGkvbGlu dXgvcHJjdGwuaA0KPj4gKysrIGIvaW5jbHVkZS91YXBpL2xpbnV4L3ByY3RsLmgNCj4+IEBAIC0y MzgsNCArMjM4LDcgQEAgc3RydWN0IHByY3RsX21tX21hcCB7DQo+PiAgICNkZWZpbmUgUFJfU0VU X0lPX0ZMVVNIRVIJCTU3DQo+PiAgICNkZWZpbmUgUFJfR0VUX0lPX0ZMVVNIRVIJCTU4DQo+PiAg IA0KPj4gKyNkZWZpbmUgUFJfU0VUX01BUF9TWU5DX0VOQUJMRQkJNTkNCj4+ICsjZGVmaW5lIFBS X0dFVF9NQVBfU1lOQ19FTkFCTEUJCTYwDQo+PiArDQo+PiAgICNlbmRpZiAvKiBfTElOVVhfUFJD VExfSCAqLw0KPj4gZGlmZiAtLWdpdCBhL2tlcm5lbC9mb3JrLmMgYi9rZXJuZWwvZm9yay5jDQo+ PiBpbmRleCA4YzcwMGY4ODFkOTIuLmQ1YTlhMzYzZTgxZSAxMDA2NDQNCj4+IC0tLSBhL2tlcm5l bC9mb3JrLmMNCj4+ICsrKyBiL2tlcm5lbC9mb3JrLmMNCj4+IEBAIC05NjMsNiArOTYzLDEyIEBA IF9fY2FjaGVsaW5lX2FsaWduZWRfaW5fc21wIERFRklORV9TUElOTE9DSyhtbWxpc3RfbG9jayk7 DQo+PiAgIA0KPj4gICBzdGF0aWMgdW5zaWduZWQgbG9uZyBkZWZhdWx0X2R1bXBfZmlsdGVyID0g TU1GX0RVTVBfRklMVEVSX0RFRkFVTFQ7DQo+PiAgIA0KPj4gKyNpZmRlZiBDT05GSUdfQVJDSF9N QVBfU1lOQ19ESVNBQkxFDQo+PiArdW5zaWduZWQgbG9uZyBkZWZhdWx0X21hcF9zeW5jX21hc2sg PSBNTUZfRElTQUJMRV9NQVBfU1lOQ19NQVNLOw0KPj4gKyNlbHNlDQo+PiArdW5zaWduZWQgbG9u ZyBkZWZhdWx0X21hcF9zeW5jX21hc2sgPSAwOw0KPj4gKyNlbmRpZg0KPj4gKw0KPj4gICBzdGF0 aWMgaW50IF9faW5pdCBjb3JlZHVtcF9maWx0ZXJfc2V0dXAoY2hhciAqcykNCj4+ICAgew0KPj4g ICAJZGVmYXVsdF9kdW1wX2ZpbHRlciA9DQo+PiBAQCAtMTAzOSw3ICsxMDQ1LDcgQEAgc3RhdGlj IHN0cnVjdCBtbV9zdHJ1Y3QgKm1tX2luaXQoc3RydWN0IG1tX3N0cnVjdCAqbW0sIHN0cnVjdCB0 YXNrX3N0cnVjdCAqcCwNCj4+ICAgCQltbS0+ZmxhZ3MgPSBjdXJyZW50LT5tbS0+ZmxhZ3MgJiBN TUZfSU5JVF9NQVNLOw0KPj4gICAJCW1tLT5kZWZfZmxhZ3MgPSBjdXJyZW50LT5tbS0+ZGVmX2Zs YWdzICYgVk1fSU5JVF9ERUZfTUFTSzsNCj4+ICAgCX0gZWxzZSB7DQo+PiAtCQltbS0+ZmxhZ3Mg PSBkZWZhdWx0X2R1bXBfZmlsdGVyOw0KPj4gKwkJbW0tPmZsYWdzID0gZGVmYXVsdF9kdW1wX2Zp bHRlciB8IGRlZmF1bHRfbWFwX3N5bmNfbWFzazsNCj4+ICAgCQltbS0+ZGVmX2ZsYWdzID0gMDsN Cj4+ICAgCX0NCj4+ICAgDQo+PiBkaWZmIC0tZ2l0IGEva2VybmVsL3N5cy5jIGIva2VybmVsL3N5 cy5jDQo+PiBpbmRleCBkMzI1ZjNhYjYyNGEuLmY2MTI3Y2Y0MTI4YiAxMDA2NDQNCj4+IC0tLSBh L2tlcm5lbC9zeXMuYw0KPj4gKysrIGIva2VybmVsL3N5cy5jDQo+PiBAQCAtMjQ1MCw2ICsyNDUw LDI0IEBAIFNZU0NBTExfREVGSU5FNShwcmN0bCwgaW50LCBvcHRpb24sIHVuc2lnbmVkIGxvbmcs IGFyZzIsIHVuc2lnbmVkIGxvbmcsIGFyZzMsDQo+PiAgIAkJCWNsZWFyX2JpdChNTUZfRElTQUJM RV9USFAsICZtZS0+bW0tPmZsYWdzKTsNCj4+ICAgCQl1cF93cml0ZSgmbWUtPm1tLT5tbWFwX3Nl bSk7DQo+PiAgIAkJYnJlYWs7DQo+PiArDQo+PiArCWNhc2UgUFJfR0VUX01BUF9TWU5DX0VOQUJM RToNCj4+ICsJCWlmIChhcmcyIHx8IGFyZzMgfHwgYXJnNCB8fCBhcmc1KQ0KPj4gKwkJCXJldHVy biAtRUlOVkFMOw0KPj4gKwkJZXJyb3IgPSAhdGVzdF9iaXQoTU1GX0RJU0FCTEVfTUFQX1NZTkMs ICZtZS0+bW0tPmZsYWdzKTsNCj4+ICsJCWJyZWFrOw0KPj4gKwljYXNlIFBSX1NFVF9NQVBfU1lO Q19FTkFCTEU6DQo+PiArCQlpZiAoYXJnMyB8fCBhcmc0IHx8IGFyZzUpDQo+PiArCQkJcmV0dXJu IC1FSU5WQUw7DQo+PiArCQlpZiAoZG93bl93cml0ZV9raWxsYWJsZSgmbWUtPm1tLT5tbWFwX3Nl bSkpDQo+PiArCQkJcmV0dXJuIC1FSU5UUjsNCj4+ICsJCWlmIChhcmcyKQ0KPj4gKwkJCWNsZWFy X2JpdChNTUZfRElTQUJMRV9NQVBfU1lOQywgJm1lLT5tbS0+ZmxhZ3MpOw0KPj4gKwkJZWxzZQ0K Pj4gKwkJCXNldF9iaXQoTU1GX0RJU0FCTEVfTUFQX1NZTkMsICZtZS0+bW0tPmZsYWdzKTsNCj4+ ICsJCXVwX3dyaXRlKCZtZS0+bW0tPm1tYXBfc2VtKTsNCj4+ICsJCWJyZWFrOw0KPj4gKw0KPj4g ICAJY2FzZSBQUl9NUFhfRU5BQkxFX01BTkFHRU1FTlQ6DQo+PiAgIAljYXNlIFBSX01QWF9ESVNB QkxFX01BTkFHRU1FTlQ6DQo+PiAgIAkJLyogTm8gbG9uZ2VyIGltcGxlbWVudGVkOiAqLw0KPj4g ZGlmZiAtLWdpdCBhL21tL0tjb25maWcgYi9tbS9LY29uZmlnDQo+PiBpbmRleCBjMWFjYzM0YzFj MzUuLjM4ZmQ3Y2ZiZmNhOCAxMDA2NDQNCj4+IC0tLSBhL21tL0tjb25maWcNCj4+ICsrKyBiL21t L0tjb25maWcNCj4+IEBAIC04NjcsNCArODY3LDcgQEAgY29uZmlnIEFSQ0hfSEFTX0hVR0VQRA0K Pj4gICBjb25maWcgTUFQUElOR19ESVJUWV9IRUxQRVJTDQo+PiAgICAgICAgICAgYm9vbA0KPj4g ICANCj4+ICtjb25maWcgQVJDSF9NQVBfU1lOQ19ESVNBQkxFDQo+PiArCWJvb2wNCj4+ICsNCj4+ ICAgZW5kbWVudQ0KPj4gZGlmZiAtLWdpdCBhL21tL21tYXAuYyBiL21tL21tYXAuYw0KPj4gaW5k ZXggZjYwOWU5ZWM0YTI1Li42MTNlNTg5NGYxNzggMTAwNjQ0DQo+PiAtLS0gYS9tbS9tbWFwLmMN Cj4+ICsrKyBiL21tL21tYXAuYw0KPj4gQEAgLTE0NjQsNiArMTQ2NCwxMCBAQCB1bnNpZ25lZCBs b25nIGRvX21tYXAoc3RydWN0IGZpbGUgKmZpbGUsIHVuc2lnbmVkIGxvbmcgYWRkciwNCj4+ICAg CQljYXNlIE1BUF9TSEFSRURfVkFMSURBVEU6DQo+PiAgIAkJCWlmIChmbGFncyAmIH5mbGFnc19t YXNrKQ0KPj4gICAJCQkJcmV0dXJuIC1FT1BOT1RTVVBQOw0KPj4gKw0KPj4gKwkJCWlmICgoZmxh Z3MgJiBNQVBfU1lOQykgICYmICFtYXBfc3luY19lbmFibGVkKG1tKSkNCj4+ICsJCQkJcmV0dXJu IC1FT1BOT1RTVVBQOw0KPj4gKw0KPj4gICAJCQlpZiAocHJvdCAmIFBST1RfV1JJVEUpIHsNCj4+ ICAgCQkJCWlmICghKGZpbGUtPmZfbW9kZSAmIEZNT0RFX1dSSVRFKSkNCj4+ICAgCQkJCQlyZXR1 cm4gLUVBQ0NFUzsNCj4+IC0tIA0KPj4gMi4yNi4yDQo+Pg0KX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KTGludXgtbnZkaW1tIG1haWxpbmcgbGlzdCAtLSBs aW51eC1udmRpbW1AbGlzdHMuMDEub3JnClRvIHVuc3Vic2NyaWJlIHNlbmQgYW4gZW1haWwgdG8g bGludXgtbnZkaW1tLWxlYXZlQGxpc3RzLjAxLm9yZwo= 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 X-Spam-Level: X-Spam-Status: No, score=-8.2 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, USER_AGENT_SANE_1 autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id C69AEC433E0 for ; Fri, 29 May 2020 09:39:22 +0000 (UTC) Received: from lists.ozlabs.org (lists.ozlabs.org [203.11.71.2]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 83EEB2074D for ; Fri, 29 May 2020 09:39:22 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 83EEB2074D Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linux.ibm.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=linuxppc-dev-bounces+linuxppc-dev=archiver.kernel.org@lists.ozlabs.org Received: from bilbo.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3]) by lists.ozlabs.org (Postfix) with ESMTP id 49YKK41Qc5zDqFH for ; Fri, 29 May 2020 19:39:20 +1000 (AEST) Authentication-Results: lists.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=linux.ibm.com (client-ip=148.163.156.1; helo=mx0a-001b2d01.pphosted.com; envelope-from=aneesh.kumar@linux.ibm.com; receiver=) Authentication-Results: lists.ozlabs.org; dmarc=none (p=none dis=none) header.from=linux.ibm.com Received: from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com [148.163.156.1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 49YKHF4jnPzDqFH for ; Fri, 29 May 2020 19:37:45 +1000 (AEST) Received: from pps.filterd (m0098399.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id 04T9WvOC009538; Fri, 29 May 2020 05:37:39 -0400 Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com with ESMTP id 31as1bu4v5-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 29 May 2020 05:37:39 -0400 Received: from m0098399.ppops.net (m0098399.ppops.net [127.0.0.1]) by pps.reinject (8.16.0.36/8.16.0.36) with SMTP id 04T9aFad024099; Fri, 29 May 2020 05:37:38 -0400 Received: from ppma04ams.nl.ibm.com (63.31.33a9.ip4.static.sl-reverse.com [169.51.49.99]) by mx0a-001b2d01.pphosted.com with ESMTP id 31as1bu4tv-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 29 May 2020 05:37:38 -0400 Received: from pps.filterd (ppma04ams.nl.ibm.com [127.0.0.1]) by ppma04ams.nl.ibm.com (8.16.0.42/8.16.0.42) with SMTP id 04T9ZbDf019231; Fri, 29 May 2020 09:37:36 GMT Received: from b06avi18626390.portsmouth.uk.ibm.com (b06avi18626390.portsmouth.uk.ibm.com [9.149.26.192]) by ppma04ams.nl.ibm.com with ESMTP id 316uf93ns9-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 29 May 2020 09:37:36 +0000 Received: from d06av25.portsmouth.uk.ibm.com (d06av25.portsmouth.uk.ibm.com [9.149.105.61]) by b06avi18626390.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 04T9aKgi63504852 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 29 May 2020 09:36:20 GMT Received: from d06av25.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 243A611C058; Fri, 29 May 2020 09:37:34 +0000 (GMT) Received: from d06av25.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 4912F11C05C; Fri, 29 May 2020 09:37:32 +0000 (GMT) Received: from [9.85.84.128] (unknown [9.85.84.128]) by d06av25.portsmouth.uk.ibm.com (Postfix) with ESMTP; Fri, 29 May 2020 09:37:32 +0000 (GMT) Subject: Re: [RFC PATCH 1/2] libnvdimm: Add prctl control for disabling synchronous fault support. To: =?UTF-8?Q?Michal_Such=c3=a1nek?= , jack@suse.de References: <20200529054141.156384-1-aneesh.kumar@linux.ibm.com> <20200529093310.GL25173@kitsune.suse.cz> From: "Aneesh Kumar K.V" Message-ID: <6183cf4a-d134-99e5-936e-ef35f530c2ec@linux.ibm.com> Date: Fri, 29 May 2020 15:07:31 +0530 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.8.0 MIME-Version: 1.0 In-Reply-To: <20200529093310.GL25173@kitsune.suse.cz> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 8bit X-TM-AS-GCONF: 00 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.216, 18.0.687 definitions=2020-05-29_02:2020-05-28, 2020-05-29 signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 phishscore=0 mlxscore=0 impostorscore=0 spamscore=0 suspectscore=0 bulkscore=0 malwarescore=0 mlxlogscore=999 adultscore=0 cotscore=-2147483648 lowpriorityscore=0 clxscore=1011 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2004280000 definitions=main-2005290075 X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: linux-nvdimm@lists.01.org, Jeff Moyer , oohall@gmail.com, dan.j.williams@intel.com, linuxppc-dev@lists.ozlabs.org Errors-To: linuxppc-dev-bounces+linuxppc-dev=archiver.kernel.org@lists.ozlabs.org Sender: "Linuxppc-dev" Hi, Thanks Michal. I also missed Jeff in this email thread. -aneesh On 5/29/20 3:03 PM, Michal Suchánek wrote: > Adding Jan > > On Fri, May 29, 2020 at 11:11:39AM +0530, Aneesh Kumar K.V wrote: >> With POWER10, architecture is adding new pmem flush and sync instructions. >> The kernel should prevent the usage of MAP_SYNC if applications are not using >> the new instructions on newer hardware. >> >> This patch adds a prctl option MAP_SYNC_ENABLE that can be used to enable >> the usage of MAP_SYNC. The kernel config option is added to allow the user >> to control whether MAP_SYNC should be enabled by default or not. >> >> Signed-off-by: Aneesh Kumar K.V >> --- >> include/linux/sched/coredump.h | 13 ++++++++++--- >> include/uapi/linux/prctl.h | 3 +++ >> kernel/fork.c | 8 +++++++- >> kernel/sys.c | 18 ++++++++++++++++++ >> mm/Kconfig | 3 +++ >> mm/mmap.c | 4 ++++ >> 6 files changed, 45 insertions(+), 4 deletions(-) >> >> diff --git a/include/linux/sched/coredump.h b/include/linux/sched/coredump.h >> index ecdc6542070f..9ba6b3d5f991 100644 >> --- a/include/linux/sched/coredump.h >> +++ b/include/linux/sched/coredump.h >> @@ -72,9 +72,16 @@ static inline int get_dumpable(struct mm_struct *mm) >> #define MMF_DISABLE_THP 24 /* disable THP for all VMAs */ >> #define MMF_OOM_VICTIM 25 /* mm is the oom victim */ >> #define MMF_OOM_REAP_QUEUED 26 /* mm was queued for oom_reaper */ >> -#define MMF_DISABLE_THP_MASK (1 << MMF_DISABLE_THP) >> +#define MMF_DISABLE_MAP_SYNC 27 /* disable THP for all VMAs */ >> +#define MMF_DISABLE_THP_MASK (1 << MMF_DISABLE_THP) >> +#define MMF_DISABLE_MAP_SYNC_MASK (1 << MMF_DISABLE_MAP_SYNC) >> >> -#define MMF_INIT_MASK (MMF_DUMPABLE_MASK | MMF_DUMP_FILTER_MASK |\ >> - MMF_DISABLE_THP_MASK) >> +#define MMF_INIT_MASK (MMF_DUMPABLE_MASK | MMF_DUMP_FILTER_MASK | \ >> + MMF_DISABLE_THP_MASK | MMF_DISABLE_MAP_SYNC_MASK) >> + >> +static inline bool map_sync_enabled(struct mm_struct *mm) >> +{ >> + return !(mm->flags & MMF_DISABLE_MAP_SYNC_MASK); >> +} >> >> #endif /* _LINUX_SCHED_COREDUMP_H */ >> diff --git a/include/uapi/linux/prctl.h b/include/uapi/linux/prctl.h >> index 07b4f8131e36..ee4cde32d5cf 100644 >> --- a/include/uapi/linux/prctl.h >> +++ b/include/uapi/linux/prctl.h >> @@ -238,4 +238,7 @@ struct prctl_mm_map { >> #define PR_SET_IO_FLUSHER 57 >> #define PR_GET_IO_FLUSHER 58 >> >> +#define PR_SET_MAP_SYNC_ENABLE 59 >> +#define PR_GET_MAP_SYNC_ENABLE 60 >> + >> #endif /* _LINUX_PRCTL_H */ >> diff --git a/kernel/fork.c b/kernel/fork.c >> index 8c700f881d92..d5a9a363e81e 100644 >> --- a/kernel/fork.c >> +++ b/kernel/fork.c >> @@ -963,6 +963,12 @@ __cacheline_aligned_in_smp DEFINE_SPINLOCK(mmlist_lock); >> >> static unsigned long default_dump_filter = MMF_DUMP_FILTER_DEFAULT; >> >> +#ifdef CONFIG_ARCH_MAP_SYNC_DISABLE >> +unsigned long default_map_sync_mask = MMF_DISABLE_MAP_SYNC_MASK; >> +#else >> +unsigned long default_map_sync_mask = 0; >> +#endif >> + >> static int __init coredump_filter_setup(char *s) >> { >> default_dump_filter = >> @@ -1039,7 +1045,7 @@ static struct mm_struct *mm_init(struct mm_struct *mm, struct task_struct *p, >> mm->flags = current->mm->flags & MMF_INIT_MASK; >> mm->def_flags = current->mm->def_flags & VM_INIT_DEF_MASK; >> } else { >> - mm->flags = default_dump_filter; >> + mm->flags = default_dump_filter | default_map_sync_mask; >> mm->def_flags = 0; >> } >> >> diff --git a/kernel/sys.c b/kernel/sys.c >> index d325f3ab624a..f6127cf4128b 100644 >> --- a/kernel/sys.c >> +++ b/kernel/sys.c >> @@ -2450,6 +2450,24 @@ SYSCALL_DEFINE5(prctl, int, option, unsigned long, arg2, unsigned long, arg3, >> clear_bit(MMF_DISABLE_THP, &me->mm->flags); >> up_write(&me->mm->mmap_sem); >> break; >> + >> + case PR_GET_MAP_SYNC_ENABLE: >> + if (arg2 || arg3 || arg4 || arg5) >> + return -EINVAL; >> + error = !test_bit(MMF_DISABLE_MAP_SYNC, &me->mm->flags); >> + break; >> + case PR_SET_MAP_SYNC_ENABLE: >> + if (arg3 || arg4 || arg5) >> + return -EINVAL; >> + if (down_write_killable(&me->mm->mmap_sem)) >> + return -EINTR; >> + if (arg2) >> + clear_bit(MMF_DISABLE_MAP_SYNC, &me->mm->flags); >> + else >> + set_bit(MMF_DISABLE_MAP_SYNC, &me->mm->flags); >> + up_write(&me->mm->mmap_sem); >> + break; >> + >> case PR_MPX_ENABLE_MANAGEMENT: >> case PR_MPX_DISABLE_MANAGEMENT: >> /* No longer implemented: */ >> diff --git a/mm/Kconfig b/mm/Kconfig >> index c1acc34c1c35..38fd7cfbfca8 100644 >> --- a/mm/Kconfig >> +++ b/mm/Kconfig >> @@ -867,4 +867,7 @@ config ARCH_HAS_HUGEPD >> config MAPPING_DIRTY_HELPERS >> bool >> >> +config ARCH_MAP_SYNC_DISABLE >> + bool >> + >> endmenu >> diff --git a/mm/mmap.c b/mm/mmap.c >> index f609e9ec4a25..613e5894f178 100644 >> --- a/mm/mmap.c >> +++ b/mm/mmap.c >> @@ -1464,6 +1464,10 @@ unsigned long do_mmap(struct file *file, unsigned long addr, >> case MAP_SHARED_VALIDATE: >> if (flags & ~flags_mask) >> return -EOPNOTSUPP; >> + >> + if ((flags & MAP_SYNC) && !map_sync_enabled(mm)) >> + return -EOPNOTSUPP; >> + >> if (prot & PROT_WRITE) { >> if (!(file->f_mode & FMODE_WRITE)) >> return -EACCES; >> -- >> 2.26.2 >>