From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Kani, Toshimitsu" Subject: Re: [PATCH v3 3/4] dm: add infrastructure for DAX support Date: Thu, 23 Jun 2016 23:36:25 +0000 Message-ID: <1466724984.3504.380.camel@hpe.com> References: <1466715953-40692-1-git-send-email-snitzer@redhat.com> <1466715953-40692-4-git-send-email-snitzer@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1466715953-40692-4-git-send-email-snitzer-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> Content-Language: en-US Content-ID: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: linux-nvdimm-bounces-hn68Rpc1hR1g9hUCZPvPmw@public.gmane.org Sender: "Linux-nvdimm" To: "dan.j.williams-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org" , "snitzer-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org" , "axboe-tSWWG44O7X1aa/9Udqfwiw@public.gmane.org" Cc: "linux-nvdimm-y27Ovi1pjclAfugRpC6u6w@public.gmane.org" , "linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org" , "dm-devel-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org" , "viro-RmSDqhL/yNMiFSDQTTA3OLVCufUGDwFn@public.gmane.org" List-Id: linux-nvdimm@lists.01.org T24gVGh1LCAyMDE2LTA2LTIzIGF0IDE3OjA1IC0wNDAwLCBNaWtlIFNuaXR6ZXIgd3JvdGU6DQrC oDoNCj4gK3N0YXRpYyBpbnQgZGV2aWNlX3N1cHBvcnRzX2RheChzdHJ1Y3QgZG1fdGFyZ2V0ICp0 aSwgc3RydWN0IGRtX2RldiAqZGV2LA0KPiArCQkJwqDCoMKgwqDCoMKgwqBzZWN0b3JfdCBzdGFy dCwgc2VjdG9yX3QgbGVuLCB2b2lkICpkYXRhKQ0KPiArew0KPiArCXN0cnVjdCByZXF1ZXN0X3F1 ZXVlICpxID0gYmRldl9nZXRfcXVldWUoZGV2LT5iZGV2KTsNCj4gKw0KPiArCXJldHVybiBxICYm IGJsa19xdWV1ZV9kYXgocSk7DQo+ICt9DQo+ICsNCj4gK3N0YXRpYyBib29sIGRtX3RhYmxlX3N1 cHBvcnRzX2RheChzdHJ1Y3QgZG1fdGFibGUgKnQpDQo+ICt7DQo+ICsJc3RydWN0IGRtX3Rhcmdl dCAqdGk7DQo+ICsJdW5zaWduZWQgaSA9IDA7DQo+ICsNCj4gKwkvKiBFbnN1cmUgdGhhdCBhbGwg dGFyZ2V0cyBzdXBwb3J0IERBWC4gKi8NCj4gKwl3aGlsZSAoaSA8IGRtX3RhYmxlX2dldF9udW1f dGFyZ2V0cyh0KSkgew0KPiArCQl0aSA9IGRtX3RhYmxlX2dldF90YXJnZXQodCwgaSsrKTsNCj4g Kw0KPiArCQlpZiAoIXRpLT50eXBlLT5kaXJlY3RfYWNjZXNzKQ0KPiArCQkJcmV0dXJuIGZhbHNl Ow0KPiArDQo+ICsJCWlmICghdGktPnR5cGUtPml0ZXJhdGVfZGV2aWNlcyB8fA0KPiArCQnCoMKg wqDCoCF0aS0+dHlwZS0+aXRlcmF0ZV9kZXZpY2VzKHRpLCBkZXZpY2Vfc3VwcG9ydHNfZGF4LA0K PiBOVUxMKSkNCj4gKwkJCXJldHVybiBmYWxzZTsNCj4gKwl9DQo+ICsNCj4gKwlyZXR1cm4gdHJ1 ZTsNCj4gK30NCj4gKw0KDQpIaSBNaWtlLA0KDQpUaGFua3MgZm9yIHRoZSB1cGRhdGUuIMKgSSBo YXZlIGEgcXVlc3Rpb24gYWJvdXQgdGhlIGFib3ZlIGNoYW5nZS4gwqBUYXJnZXRzIG1heQ0KaGF2 ZSB0aGVpciBvd24gcGFyYW1ldGVycy4gwqBGb3IgaW5zdGFuY2UsIGRtLXN0cmlwZSBoYXMgJ2No dW5rX3NpemUnLCB3aGljaCBpcw0KY2hlY2tlZCBpbiBzdHJpcGVfY3RyKCkuIMKgREFYIGFkZHMg YWRkaXRpb25hbCByZXN0cmljdGlvbiB0aGF0IGNodW5rX3NpemUNCm5lZWRzIHRvIGJlIGFsaWdu ZWQgYnkgcGFnZSBzaXplLiDCoFNvLCBJIHRoaW5rIHdlIG5lZWQgdG8ga2VlcCB0YXJnZXQNCnJl c3BvbnNpYmxlIHRvIHZlcmlmeSBpZiBEQVggY2FuIGJlIHN1cHBvcnRlZC4gwqBXaGF0IGRvIHlv dSB0aGluaz8NCg0KVGhhbmtzLA0KLVRvc2hpCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCkxpbnV4LW52ZGltbSBtYWlsaW5nIGxpc3QKTGludXgtbnZkaW1t QGxpc3RzLjAxLm9yZwpodHRwczovL2xpc3RzLjAxLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4 LW52ZGltbQo= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752328AbcFWXg3 (ORCPT ); Thu, 23 Jun 2016 19:36:29 -0400 Received: from mail-bl2on0141.outbound.protection.outlook.com ([65.55.169.141]:10944 "EHLO na01-bl2-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751957AbcFWXg2 (ORCPT ); Thu, 23 Jun 2016 19:36:28 -0400 From: "Kani, Toshimitsu" To: "dan.j.williams@intel.com" , "snitzer@redhat.com" , "axboe@kernel.dk" CC: "dm-devel@redhat.com" , "ross.zwisler@linux.intel.com" , "viro@zeniv.linux.org.uk" , "linux-kernel@vger.kernel.org" , "linux-nvdimm@ml01.01.org" , "yigal@plexistor.com" Subject: Re: [PATCH v3 3/4] dm: add infrastructure for DAX support Thread-Topic: [PATCH v3 3/4] dm: add infrastructure for DAX support Thread-Index: AQHRzZMZVThpDHQ2vEakVTOObT7oI5/3tPUA Date: Thu, 23 Jun 2016 23:36:25 +0000 Message-ID: <1466724984.3504.380.camel@hpe.com> References: <1466715953-40692-1-git-send-email-snitzer@redhat.com> <1466715953-40692-4-git-send-email-snitzer@redhat.com> In-Reply-To: <1466715953-40692-4-git-send-email-snitzer@redhat.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=toshi.kani@hpe.com; x-originating-ip: [15.219.163.9] x-ms-office365-filtering-correlation-id: 530b52e6-ad5c-4067-de8f-08d39bbf311d x-microsoft-exchange-diagnostics: 1;CS1PR84MB0007;6:S/Zy4pviv4A37y9i15nZiXMon0CI4TYpEJQfVKaJJUiF05ZjjKNQazNsvBgIh3hEqLUWToNWObMKR89pGoZrfwVEZdXNLrDCz/2D0sMY8TGd9YrHGZ993w215TTO31ubxMucxO/yQeUJ2MpaUHLzTPmmbjUddafiLCJUozN9cgE8rIl0I3w9Lqu5oqGgLAlmTIfGVCWSdjLgG0V1SbHjF6FRLZuyoQP79UL67dQkKKBWeMsDy8Tkbqj8E9OL/4P2ckTS+9aRRrwFrGb5DpzZoGebS1cU6CPIdyl8dv9t8vrF0SRj5jSoeKlUre/c+An0;5:W+cGjCdt9kfYeFQi7IwhDBTr/JwKrsM+DT33RmvBSPC/wu9Yw4sFimhNozApouIdDzkBTT6cQixebbA4bNQcULIzQ/U4ttoRNX6ZMVJoQ7+8NngWJc5UF56zcENARVhRO2bdCT15z0SIKVDPz1Nz7g==;24:Fzy1mZLYtlrT996PQZZyNqJBJEhXuzHI/CT8FRo1g+AR2WiT3yYZFstFjdedF8FVrQFep9UBhmr1uHEaGQIi9IX6ABFIPX2Gl/aWWe+GL24=;7:hx+lTP41eCtsEygHwysDluVOEviodNc3UwuDi48n3Wfoy+a0qtbsVN0r50V20dWSpVCS4S7P4L3hgONbhAa/T1cM08jOinxQ4H7Sp1e5RXS7wKCrNeuqxClDl8CICZvKl4cejZ3gaf41R7xzHOq6WbtSerc8rjA4KGkaKsYmem+sQ2HPfu+/mNegKYVJrupaprtLqa/BPU+XCO+sQFkk266w8Wn7Rk3BR+JWe6xozOWyIloZNfMsvTIoXjVZHbDp2JrGktIW//IeTvd1rRWykQ== x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CS1PR84MB0007; x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:; x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(601004)(2401047)(8121501046)(5005006)(10201501046)(3002001);SRVR:CS1PR84MB0007;BCL:0;PCL:0;RULEID:;SRVR:CS1PR84MB0007; x-forefront-prvs: 098291215C x-forefront-antispam-report: SFV:NSPM;SFS:(10019020)(6009001)(7916002)(24454002)(51914003)(189002)(199003)(76104003)(377424004)(101416001)(5001770100001)(103116003)(2501003)(5002640100001)(97736004)(122556002)(305945005)(76176999)(11100500001)(68736007)(10400500002)(8676002)(54356999)(81156014)(81166006)(8936002)(99286002)(7846002)(50986999)(3660700001)(7736002)(3280700002)(189998001)(87936001)(4326007)(102836003)(6116002)(3846002)(77096005)(2900100001)(2950100001)(86362001)(36756003)(586003)(105586002)(106116001)(33646002)(106356001)(66066001)(2201001)(2906002)(92566002);DIR:OUT;SFP:1102;SCL:1;SRVR:CS1PR84MB0007;H:CS1PR84MB0005.NAMPRD84.PROD.OUTLOOK.COM;FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="utf-8" Content-ID: MIME-Version: 1.0 X-OriginatorOrg: hpe.com X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Jun 2016 23:36:25.2209 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 105b2061-b669-4b31-92ac-24d304d195dc X-MS-Exchange-Transport-CrossTenantHeadersStamped: CS1PR84MB0007 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 u5NNaYBe021785 On Thu, 2016-06-23 at 17:05 -0400, Mike Snitzer wrote:  : > +static int device_supports_dax(struct dm_target *ti, struct dm_dev *dev, > +        sector_t start, sector_t len, void *data) > +{ > + struct request_queue *q = bdev_get_queue(dev->bdev); > + > + return q && blk_queue_dax(q); > +} > + > +static bool dm_table_supports_dax(struct dm_table *t) > +{ > + struct dm_target *ti; > + unsigned i = 0; > + > + /* Ensure that all targets support DAX. */ > + while (i < dm_table_get_num_targets(t)) { > + ti = dm_table_get_target(t, i++); > + > + if (!ti->type->direct_access) > + return false; > + > + if (!ti->type->iterate_devices || > +     !ti->type->iterate_devices(ti, device_supports_dax, > NULL)) > + return false; > + } > + > + return true; > +} > + Hi Mike, Thanks for the update.  I have a question about the above change.  Targets may have their own parameters.  For instance, dm-stripe has 'chunk_size', which is checked in stripe_ctr().  DAX adds additional restriction that chunk_size needs to be aligned by page size.  So, I think we need to keep target responsible to verify if DAX can be supported.  What do you think? Thanks, -Toshi