From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from g9t5008.houston.hpe.com (g9t5008.houston.hpe.com [15.241.48.72]) (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 EA0D221A1348C for ; Thu, 4 May 2017 07:08:23 -0700 (PDT) From: "Kani, Toshimitsu" Subject: Re: [RFC PATCH] dax: add badblocks check to Device DAX Date: Thu, 4 May 2017 14:08:12 +0000 Message-ID: <1493906887.30303.57.camel@hpe.com> References: <20170503153103.30756-1-toshi.kani@hpe.com> <1493827750.30303.44.camel@hpe.com> <1493837209.30303.47.camel@hpe.com> <1493851282.30303.49.camel@hpe.com> <1493853934.30303.51.camel@hpe.com> <1493854569.30303.53.camel@hpe.com> In-Reply-To: Content-Language: en-US Content-ID: MIME-Version: 1.0 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: linux-nvdimm-bounces@lists.01.org Sender: "Linux-nvdimm" To: "dan.j.williams@intel.com" Cc: "linux-kernel@vger.kernel.org" , "linux-nvdimm@lists.01.org" List-ID: T24gV2VkLCAyMDE3LTA1LTAzIGF0IDE5OjAxIC0wNzAwLCBEYW4gV2lsbGlhbXMgd3JvdGU6DQo+ IE9uIFdlZCwgTWF5IDMsIDIwMTcgYXQgNDozNiBQTSwgS2FuaSwgVG9zaGltaXRzdSA8dG9zaGku a2FuaUBocGUuY29tPg0KPiB3cm90ZToNCj4gPiBPbiBXZWQsIDIwMTctMDUtMDMgYXQgMTc6MjUg LTA2MDAsIFRvc2hpIEthbmkgd3JvdGU6DQo+ID4gPiBPbiBXZWQsIDIwMTctMDUtMDMgYXQgMTY6 MDggLTA3MDAsIERhbiBXaWxsaWFtcyB3cm90ZToNCj4gPiA+ID4gT24gV2VkLCBNYXkgMywgMjAx NyBhdCAzOjUxIFBNLCBEYW4gV2lsbGlhbXMNCj4gPiA+ID4gPGRhbi5qLndpbGxpYW1zQGludGVs LmNvbT4gd3JvdGU6DQo+ID4gPiA+ID4gT24gV2VkLCBNYXkgMywgMjAxNyBhdCAzOjQxIFBNLCBL YW5pLCBUb3NoaW1pdHN1DQo+ID4gPiA+ID4gPHRvc2hpLmthbmlAaHBlLmNvbT4gd3JvdGU6DQo+ ID4gPiA+ID4gPiBPbiBXZWQsIDIwMTctMDUtMDMgYXQgMTQ6NDggLTA3MDAsIERhbiBXaWxsaWFt cyB3cm90ZToNCj4gPiA+IA0KPiA+ID4gwqA6DQo+ID4gPiA+ID4gDQo+ID4gPiA+ID4gSSBiZWxp ZXZlIHdlIGFscmVhZHkgaGF2ZSBhbGwgdGhlIGRhdGEgbmVlZGVkIHRvIGNhbGN1bGF0ZQ0KPiA+ ID4gPiA+IHRoZSBkYXRhIG9mZnNldC4gR2l2ZW4gdGhlIGZvbGxvd2luZyBzeXNmcyBwYXRoOg0K PiA+ID4gPiA+IA0KPiA+ID4gPiA+IMKgwqDCoMKgL3N5cy9kZXZpY2VzL0xOWFNZU1RNOjAwL0xO WFNZQlVTOjAwL0FDUEkwMDEyOjAwL25kYnVzMC9yDQo+ID4gPiA+ID4gZWdpb24xL2RheDEuMS9k YXgvZGF4MS4wDQo+ID4gPiA+ID4gDQo+ID4gPiA+ID4gLi4ud2UgY2FuIGZpbmQgdGhlIGFzc29j aWF0ZWQgbmFtZXNwYWNlIGRldmljZSBmcm9tIHRoYXQNCj4gPiA+ID4gPiBkYXgxLjEuDQo+ID4g PiA+ID4gRnJvbSB0aGVyZSB3ZSBoYXZlIHRoZSBiYXNlIGFkZHJlc3Mgb2YgdGhlIG5hbWVzcGFj ZSBhbmQgdGhlDQo+ID4gPiA+ID4gc2l6ZSBkZXZpY2UtZGF4IGluc3RhbmNlLg0KPiA+ID4gPiA+ IA0KPiA+ID4gPiA+IMKgwqDCoMKgZGV2aWNlX2RheF9kYXRhX29mZnNldCA9PSBuYW1lc3BhY2Vf YmFzZSArIG5hbWVzcGFjZV9zaXplDQo+ID4gPiA+ID4gLQ0KPiA+ID4gPiA+IGRldmljZV9kYXhf c2l6ZQ0KPiA+ID4gPiANCj4gPiA+ID4gRGF2ZSByZW1pbmRzIG1lIHRoYXQgd2UgZG8gaGF2ZSB0 aGUgZGF0YSBvZmZzZXQgb2YgdGhlIGRldmljZS0NCj4gPiA+ID4gZGF4IGluc3RhbmNlIGF0IHRo ZSBsaWJudmRpbW0gbGV2ZWw6DQo+ID4gPiA+IA0KPiA+ID4gPiDCoMKgwqDCoC9zeXMvZGV2aWNl cy9MTlhTWVNUTTowMC9MTlhTWUJVUzowMC9BQ1BJMDAxMjowMC9uZGJ1czAvcmVnDQo+ID4gPiA+ IGlvbjEvZGF4MS4xL3Jlc291cmNlDQo+ID4gPiA+IA0KPiA+ID4gPiAuLi5pbiB0aGlzIGV4YW1w bGUsIHdoaWNoIG1hcHMgdG8gbmRjdGxfZGF4X2dldF9yZXNvdXJjZSgpLg0KPiA+ID4gDQo+ID4g PiBUaGFua3MgZm9yIHRoZSBpbmZvIcKgwqBJIG5vdGljZWQgd2h5IEkgZGlkIG5vdCBjYXRjaCB0 aGlzIGluZm8NCj4gPiA+IGJlZm9yZS4NCj4gPiA+IA0KPiA+ID4gIyBsbCAvZGV2L2RheCoNCj4g PiA+IGNydy0tLS0tLS0gMSByb290IHJvb3QgMjUxLCAzIE1hecKgwqAzIDA0OjI4IC9kZXYvZGF4 MC4wDQo+ID4gPiANCj4gPiA+ICMgcHdkDQo+ID4gPiAvc3lzL2RldmljZXMvTE5YU1lTVE06MDAv TE5YU1lCVVM6MDAvQUNQSTAwMTI6MDAvbmRidXMwL3JlZ2lvbjAvZA0KPiA+ID4gYXgwLjANCj4g PiA+IA0KPiA+ID4gIyBncmVwIC4gKg0KPiA+ID4gYWxpZ246MjA5NzE1Mg0KPiA+ID4gZGV2dHlw ZTpuZF9kYXgNCj4gPiA+IG1vZGFsaWFzOm5kOnQ3DQo+ID4gPiBtb2RlOm5vbmUNCj4gPiA+IG51 bWFfbm9kZTowDQo+ID4gPiBncmVwOiBwb3dlcjogSXMgYSBkaXJlY3RvcnkNCj4gPiA+IGdyZXA6 IHJlc291cmNlOiBObyBzdWNoIGRldmljZSBvciBhZGRyZXNzDQo+ID4gPiBncmVwOiBzaXplOiBO byBzdWNoIGRldmljZSBvciBhZGRyZXNzDQo+ID4gPiBncmVwOiBzdWJzeXN0ZW06IElzIGEgZGly ZWN0b3J5DQo+ID4gPiB1ZXZlbnQ6REVWVFlQRT1uZF9kYXgNCj4gPiA+IHVldmVudDpNT0RBTElB Uz1uZDp0Nw0KPiA+ID4gDQo+ID4gPiBCdXQgSSBub3RpY2VkIHRoYXQgInJlc291cmNlIiBhbmQg InNpemUiIHRoYXQgYXJlIHVuZGVyDQo+ID4gPiAiLi4uL3JlZ2lvbjAvZGF4MC4xIiB3b3JrLsKg wqBJcyB0aGlzIGludGVuZGVkPw0KPiANCj4gWW91IG1lYW4gdGhhdCByZWdpb24wL2RheDAuMSBh bmQgcmVnaW9uMC9kYXgwLjEvZGF4L2RheDAuMCBhcmUNCj4gZnVuY3Rpb25hbCwgYnV0IHJlZ2lv bjAvZGF4MC4wIGlzIG5vdD8gWWVzLCB0aGF0IGlzIGV4cGVjdGVkIHRoZQ0KPiBsaWJudmRpbW0g InN0cnVjdCBuZF9kYXgiIGRldmljZSBpcyBvbiBhIGRpZmZlcmVudCBkZXZpY2UgbnVtYmVyaW5n DQo+IHNjaGVtZSB0aGFuIHRoZSAic3RydWN0IGRldl9kYXgiIGluc3RhbmNlLiBEZXBlbmRpbmcg b24gbG9hZCBhbmQNCj4gbmFtZXNwYWNlIHJlY29uZmlndXJhdGlvbiBvcmRlciB5b3UgY2FuIGV4 cGVjdCB0aG9zZSBuYW1lcyB0byBub3QNCj4gbWF0Y2guIFRoZSBkZXZfZGF4IGluc3RhbmNlIG5h bWUgaXMgImRheCByZWdpb24gaWQiLiJzdWItZGl2aXNpb24NCj4gaW5zdGFuY2UiDQoNCk9oLCBJ IHNlZS4gWW91IGFyZSByaWdodC4gTG9va3MgbGlrZSBJIGNhbiB1c2UgdGhlIHN5bWJvbGljIGxp bmsgdW5kZXINCiJjbGFzcy9kYXgiIHRvIGF2b2lkIHRoaXMgbnVtYmVyaW5nIGlzc3VlLg0KDQoj IGxsIC9zeXMvY2xhc3MvZGF4L2RheDAuMA0KbHJ3eHJ3eHJ3eCAxIHJvb3Qgcm9vdCAwIE1hecKg wqA0IDAyOjU1IC9zeXMvY2xhc3MvZGF4L2RheDAuMCAtPg0KLi4vLi4vZGV2aWNlcy9MTlhTWVNU TTowMC9MTlhTWUJVUzowMC9BQ1BJMDAxMjowMC9uZGJ1czAvcmVnaW9uMC9kYXgwLjENCi9kYXgv ZGF4MC4wDQoNCj4gPiANCj4gPiBIZXJlIGlzIGFuIG91dHB1dCBmcm9tIGRheDAuMSAoSSByZW1v dmVkIHRoZSBzaXplIHZhbHVlKS7CoMKgTm90aWNlZA0KPiA+IHRoYXQgbW9kZSBpcyBkaWZmZXJl bnQuDQo+ID4gDQo+ID4gIyBwd2QNCj4gPiAvc3lzL2RldmljZXMvTE5YU1lTVE06MDAvTE5YU1lC VVM6MDAvQUNQSTAwMTI6MDAvbmRidXMwL3JlZ2lvbjAvZGF4DQo+ID4gMC4xDQo+ID4gDQo+ID4g IyBncmVwIC4gKg0KPiA+IGFsaWduOjIwOTcxNTINCj4gPiBncmVwOiBkYXg6IElzIGEgZGlyZWN0 b3J5DQo+ID4gZ3JlcDogZGF4X3JlZ2lvbjogSXMgYSBkaXJlY3RvcnkNCj4gPiBkZXZ0eXBlOm5k X2RheA0KPiA+IGdyZXA6IGRyaXZlcjogSXMgYSBkaXJlY3RvcnkNCj4gPiBtb2RhbGlhczpuZDp0 Nw0KPiA+IG1vZGU6cG1lbQ0KPiA+IG5hbWVzcGFjZTpuYW1lc3BhY2UwLjANCj4gPiBudW1hX25v ZGU6MA0KPiA+IGdyZXA6IHBvd2VyOiBJcyBhIGRpcmVjdG9yeQ0KPiA+IHJlc291cmNlOjB4MjUw MjAwMDAwDQo+ID4gc2l6ZTooc2l6ZSB2YWx1ZSkNCj4gPiBncmVwOiBzdWJzeXN0ZW06IElzIGEg ZGlyZWN0b3J5DQo+ID4gdWV2ZW50OkRFVlRZUEU9bmRfZGF4DQo+ID4gdWV2ZW50OkRSSVZFUj1k YXhfcG1lbQ0KPiA+IHVldmVudDpNT0RBTElBUz1uZDp0Nw0KPiA+IHV1aWQ6OGM3MTgxMWYtMjYw ZC00Nzg4LTg0ODctZGI4OGQ4MjlkMzkzDQo+IA0KPiBUaGUgIm1vZGUiIGluIHRoaXMgaW5zdGFu Y2UgaXMgdGhlIG1vZGUgZm9yIHRoZSBzdHJ1Y3QgcGFnZQ0KPiBhbGxvY2F0aW9uLCBpLmUuIHdo ZXRoZXIgaXQgaXMgY29taW5nIGZyb20gbWFpbiBtZW1vcnkgIm1lbSIgb3IgdGhlDQo+IHBlcnNp c3RlbnQgbWVtb3J5IGl0c2VsZiAicG1lbSIgaW4gdGhpcyBjYXNlLg0KDQpSaWdodC4gSSB3YXMg dG90YWxseSBjb25mdXNlZCBieSB0aGUgbnVtYmVyaW5nIG9mIHRoZXNlIGZpbGVzLi4uDQoNClRo YW5rcyENCi1Ub3NoaQ0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KTGludXgtbnZkaW1tIG1haWxpbmcgbGlzdApMaW51eC1udmRpbW1AbGlzdHMuMDEub3Jn Cmh0dHBzOi8vbGlzdHMuMDEub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtbnZkaW1tCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755539AbdEDOIt (ORCPT ); Thu, 4 May 2017 10:08:49 -0400 Received: from g9t5008.houston.hpe.com ([15.241.48.72]:35252 "EHLO g9t5008.houston.hpe.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755112AbdEDOIY (ORCPT ); Thu, 4 May 2017 10:08:24 -0400 From: "Kani, Toshimitsu" To: "dan.j.williams@intel.com" CC: "linux-kernel@vger.kernel.org" , "dave.jiang@intel.com" , "linux-nvdimm@lists.01.org" Subject: Re: [RFC PATCH] dax: add badblocks check to Device DAX Thread-Topic: [RFC PATCH] dax: add badblocks check to Device DAX Thread-Index: AQHSxCJYsIkXTJcozUeBmwgaJMx1HaHiwjaAgAAEtwCAAAXrgIAAJiGAgAAy3QCAAA6sAIAAAvMAgAAEj4CAAATXAIAAAvWAgAAokwCAAMsNgA== Date: Thu, 4 May 2017 14:08:12 +0000 Message-ID: <1493906887.30303.57.camel@hpe.com> References: <20170503153103.30756-1-toshi.kani@hpe.com> <1493827750.30303.44.camel@hpe.com> <1493837209.30303.47.camel@hpe.com> <1493851282.30303.49.camel@hpe.com> <1493853934.30303.51.camel@hpe.com> <1493854569.30303.53.camel@hpe.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=hpe.com; x-originating-ip: [15.219.163.8] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1;AT5PR84MB0260;7:64IJeaSApmimyMl6DbQqGt6emeoPaaumd+jQcfI2PwqL08X0k7TOoNz8xB8COlFvJtO+cffSuuKTJdr31kOW/Xbk/1zCiQ4Toi7HTM8WSbZVqHC9IuG70DUG33PcYP92/7XZxrW7/P3b6g/K0Ed2gW0Fjasd/5S0fM0+QUDZ5IIigGPUJA7Xc4s/2+AOfYz15pMudf1BqMUeeXEneOinfHiEige6Ly3KzsQ5HKwI17j83jIK6GjKp1/rXxZ287u9TdYKSaknWxJjnOAfBl0RfkYAze/gHmLOLGNuHhpoP8Jn8CcLQhcKBzBnrRsxXZ1a/PR137BgmfmTnzu+/1FWxQ== x-ms-office365-filtering-correlation-id: 855b0c32-c8e8-42cd-b1e2-08d492f70095 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(2017030254075)(48565401081)(201703131423075)(201703031133081);SRVR:AT5PR84MB0260; x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(227479698468861)(228905959029699); x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(6040450)(601004)(2401047)(8121501046)(5005006)(3002001)(10201501046)(93006095)(93001095)(6055026)(6041248)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123562025)(20161123560025)(20161123555025)(20161123564025)(20161123558100)(6072148);SRVR:AT5PR84MB0260;BCL:0;PCL:0;RULEID:;SRVR:AT5PR84MB0260; x-forefront-prvs: 02973C87BC x-forefront-antispam-report: SFV:NSPM;SFS:(10019020)(6009001)(39410400002)(39840400002)(39450400003)(39850400002)(39860400002)(39400400002)(377454003)(377424004)(24454002)(5640700003)(6486002)(6436002)(110136004)(33646002)(6506006)(6246003)(50986999)(4326008)(3280700002)(3660700001)(76176999)(8936002)(38730400002)(53936002)(2501003)(86362001)(478600001)(6512007)(3846002)(5660300001)(2351001)(2906002)(7736002)(305945005)(102836003)(6116002)(93886004)(54356999)(6916009)(66066001)(189998001)(5250100002)(2950100002)(36756003)(53546009)(2900100001)(25786009)(8676002)(229853002)(81166006)(103116003);DIR:OUT;SFP:1102;SCL:1;SRVR:AT5PR84MB0260;H:AT5PR84MB0260.NAMPRD84.PROD.OUTLOOK.COM;FPR:;SPF:None;MLV:sfv;LANG:en; spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="utf-8" Content-ID: MIME-Version: 1.0 X-MS-Exchange-CrossTenant-originalarrivaltime: 04 May 2017 14:08:12.7628 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 105b2061-b669-4b31-92ac-24d304d195dc X-MS-Exchange-Transport-CrossTenantHeadersStamped: AT5PR84MB0260 X-OriginatorOrg: hpe.com Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from base64 to 8bit by mail.home.local id v44EAx8v028294 On Wed, 2017-05-03 at 19:01 -0700, Dan Williams wrote: > On Wed, May 3, 2017 at 4:36 PM, Kani, Toshimitsu > wrote: > > On Wed, 2017-05-03 at 17:25 -0600, Toshi Kani wrote: > > > On Wed, 2017-05-03 at 16:08 -0700, Dan Williams wrote: > > > > On Wed, May 3, 2017 at 3:51 PM, Dan Williams > > > > wrote: > > > > > On Wed, May 3, 2017 at 3:41 PM, Kani, Toshimitsu > > > > > wrote: > > > > > > On Wed, 2017-05-03 at 14:48 -0700, Dan Williams wrote: > > > > > >  : > > > > > > > > > > I believe we already have all the data needed to calculate > > > > > the data offset. Given the following sysfs path: > > > > > > > > > >     /sys/devices/LNXSYSTM:00/LNXSYBUS:00/ACPI0012:00/ndbus0/r > > > > > egion1/dax1.1/dax/dax1.0 > > > > > > > > > > ...we can find the associated namespace device from that > > > > > dax1.1. > > > > > From there we have the base address of the namespace and the > > > > > size device-dax instance. > > > > > > > > > >     device_dax_data_offset == namespace_base + namespace_size > > > > > - > > > > > device_dax_size > > > > > > > > Dave reminds me that we do have the data offset of the device- > > > > dax instance at the libnvdimm level: > > > > > > > >     /sys/devices/LNXSYSTM:00/LNXSYBUS:00/ACPI0012:00/ndbus0/reg > > > > ion1/dax1.1/resource > > > > > > > > ...in this example, which maps to ndctl_dax_get_resource(). > > > > > > Thanks for the info!  I noticed why I did not catch this info > > > before. > > > > > > # ll /dev/dax* > > > crw------- 1 root root 251, 3 May  3 04:28 /dev/dax0.0 > > > > > > # pwd > > > /sys/devices/LNXSYSTM:00/LNXSYBUS:00/ACPI0012:00/ndbus0/region0/d > > > ax0.0 > > > > > > # grep . * > > > align:2097152 > > > devtype:nd_dax > > > modalias:nd:t7 > > > mode:none > > > numa_node:0 > > > grep: power: Is a directory > > > grep: resource: No such device or address > > > grep: size: No such device or address > > > grep: subsystem: Is a directory > > > uevent:DEVTYPE=nd_dax > > > uevent:MODALIAS=nd:t7 > > > > > > But I noticed that "resource" and "size" that are under > > > ".../region0/dax0.1" work.  Is this intended? > > You mean that region0/dax0.1 and region0/dax0.1/dax/dax0.0 are > functional, but region0/dax0.0 is not? Yes, that is expected the > libnvdimm "struct nd_dax" device is on a different device numbering > scheme than the "struct dev_dax" instance. Depending on load and > namespace reconfiguration order you can expect those names to not > match. The dev_dax instance name is "dax region id"."sub-division > instance" Oh, I see. You are right. Looks like I can use the symbolic link under "class/dax" to avoid this numbering issue. # ll /sys/class/dax/dax0.0 lrwxrwxrwx 1 root root 0 May  4 02:55 /sys/class/dax/dax0.0 -> ../../devices/LNXSYSTM:00/LNXSYBUS:00/ACPI0012:00/ndbus0/region0/dax0.1 /dax/dax0.0 > > > > Here is an output from dax0.1 (I removed the size value).  Noticed > > that mode is different. > > > > # pwd > > /sys/devices/LNXSYSTM:00/LNXSYBUS:00/ACPI0012:00/ndbus0/region0/dax > > 0.1 > > > > # grep . * > > align:2097152 > > grep: dax: Is a directory > > grep: dax_region: Is a directory > > devtype:nd_dax > > grep: driver: Is a directory > > modalias:nd:t7 > > mode:pmem > > namespace:namespace0.0 > > numa_node:0 > > grep: power: Is a directory > > resource:0x250200000 > > size:(size value) > > grep: subsystem: Is a directory > > uevent:DEVTYPE=nd_dax > > uevent:DRIVER=dax_pmem > > uevent:MODALIAS=nd:t7 > > uuid:8c71811f-260d-4788-8487-db88d829d393 > > The "mode" in this instance is the mode for the struct page > allocation, i.e. whether it is coming from main memory "mem" or the > persistent memory itself "pmem" in this case. Right. I was totally confused by the numbering of these files... Thanks! -Toshi