Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1233067

Re: [PATCH 08/15] block, dax, pmem: reference counting infrastructure

From "Williams, Dan J" <dan.j.williams@intel.com>
Newsgroups linux.kernel
Subject Re: [PATCH 08/15] block, dax, pmem: reference counting infrastructure
Date 2015-09-25 23:10 +0200
Message-ID <qcIpH-4D0-7@gated-at.bofh.it> (permalink)
References <qbKae-20h-7@gated-at.bofh.it> <qbKae-20h-15@gated-at.bofh.it> <qcgtt-6OZ-25@gated-at.bofh.it> <qcoKm-1Ra-11@gated-at.bofh.it> <qczw6-8vk-13@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


T24gRnJpLCAyMDE1LTA5LTI1IGF0IDA0OjMyIC0wNzAwLCBDaHJpc3RvcGggSGVsbHdpZyB3cm90
ZToNCj4gT24gVGh1LCBTZXAgMjQsIDIwMTUgYXQgMDU6MDM6MThQTSAtMDcwMCwgRGFuIFdpbGxp
YW1zIHdyb3RlOg0KPiA+IFRoYXQgbWFrZXMgc2Vuc2UgdG8gbWUsIGVzcGVjaWFsbHkgYmVjYXVz
ZSBkcml2ZXJzL252ZGltbS9ibGsuYyBpcw0KPiA+IGJyb2tlbiBpbiB0aGUgc2FtZSB3YXkgYXMg
ZHJpdmVycy9udmRpbW0vcG1lbS5jIGFuZCBpdCB3b3VsZCBiZQ0KPiA+IGF3a3dhcmQgdG8gaGF2
ZSBpdCB1c2UgYmxrX2RheF9nZXQoKSAvIGJsa19kYXhfcHV0KCkuICBUaGUNCj4gPiBwZXJjcHVf
cmVmY291bnQgc2hvdWxkIGJlIHZhbGlkIGZvciBhbGwgcXVldWVzIGFuZCBpdCB3aWxsIG9ubHkg
ZXZlcg0KPiA+IGJlID4gMSBpbiB0aGUgYmxrX21xIGFuZCBsaWJudmRpbW0gY2FzZXMgKGZvciBu
b3cpLiAgV2lsbCBmaXguDQo+IA0KPiBMb29raW5nIGF0IHRoaXMgYSBiaXQgbW9yZSBpdCBtaWdo
dCBhY3R1YWxseSBtYWtlIHNlbnNlIHRvIGdyYWIgdGhlDQo+IHJlZmVyZW5lIGluIGNvbW1vbiBj
b2RlIGJlZm9yZSBjYWxsaW5nIGludG8gLT5tYWtlX3JlcXVlc3QuDQo+IA0KPiBKZW5zLCBhbnkg
b3BpbmlvbiBvbiB0aGF0Pw0KDQouLi50aGlzIHdvcmtzIGZvciBtZToNCg0KODwtLS0tLQ0KU3Vi
amVjdDogW1BBVENIXSBibG9jazogZ2VuZXJpYyByZXF1ZXN0X3F1ZXVlIHJlZmVyZW5jZSBjb3Vu
dGluZw0KDQpBbGxvdyBwbWVtLCBhbmQgb3RoZXIgc3luY2hyb25vdXMvYmlvLWJhc2VkIGJsb2Nr
IGRyaXZlcnMsIHRvIGZhbGxiYWNrDQpvbiBhIHBlci1jcHUgcmVmZXJlbmNlIGNvdW50IG1hbmFn
ZWQgYnkgdGhlIGNvcmUgZm9yIHRyYWNraW5nIHF1ZXVlDQpsaXZlL2RlYWQgc3RhdGUuDQoNClRo
ZSBleGlzdGluZyBwZXItY3B1IHJlZmVyZW5jZSBjb3VudCBmb3IgdGhlIGJsa19tcSBjYXNlIGlz
IHByb21vdGVkIHRvDQpiZSB1c2VkIGluIGFsbCBibG9jayBpL28gc2NlbmFyaW9zLiAgVGhpcyBp
bnZvbHZlcyBpbml0aWFsaXppbmcgaXQgYnkNCmRlZmF1bHQsIHdhaXRpbmcgZm9yIGl0IHRvIGRy
b3AgdG8gemVybyBhdCBleGl0LCBhbmQgaG9sZGluZyBhIGxpdmUNCnJlZmVyZW5jZSBvdmVyIHRo
ZSBpbnZvY2F0aW9uIG9mIHEtPm1ha2VfcmVxdWVzdF9mbigpIGluDQpnZW5lcmljX21ha2VfcmVx
dWVzdCgpLiAgVGhlIGJsa19tcSBjb2RlIGNvbnRpbnVlcyB0byB0YWtlIGl0cyBvd24NCnJlZmVy
ZW5jZSBwZXIgYmxrX21xIHJlcXVlc3QgYW5kIHJldGFpbnMgdGhlIGFiaWxpdHkgdG8gZnJlZXpl
IHRoZQ0KcXVldWUsIGJ1dCB0aGUgY2hlY2sgdGhhdCB0aGUgcXVldWUgaXMgZnJvemVuIGlzIG1v
dmVkIHRvDQpnZW5lcmljX21ha2VfcmVxdWVzdCgpLg0KDQpUaGlzIGZpeGVzIGNyYXNoIHNpZ25h
dHVyZXMgbGlrZSB0aGUgZm9sbG93aW5nOg0KDQogQlVHOiB1bmFibGUgdG8gaGFuZGxlIGtlcm5l
bCBwYWdpbmcgcmVxdWVzdCBhdCBmZmZmODgwMTQwMDAwMDAwDQogWy4uXQ0KIENhbGwgVHJhY2U6
DQogIFs8ZmZmZmZmZmY4MTQ1ZThiZj5dID8gY29weV91c2VyX2hhbmRsZV90YWlsKzB4NWYvMHg3
MA0KICBbPGZmZmZmZmZmYTAwNGUxZTA+XSBwbWVtX2RvX2J2ZWMuaXNyYS4xMSsweDcwLzB4ZjAg
W25kX3BtZW1dDQogIFs8ZmZmZmZmZmZhMDA0ZTMzMT5dIHBtZW1fbWFrZV9yZXF1ZXN0KzB4ZDEv
MHgyMDAgW25kX3BtZW1dDQogIFs8ZmZmZmZmZmY4MTFjMzE2Mj5dID8gbWVtcG9vbF9hbGxvYysw
eDcyLzB4MWEwDQogIFs8ZmZmZmZmZmY4MTQxZjhiNj5dIGdlbmVyaWNfbWFrZV9yZXF1ZXN0KzB4
ZDYvMHgxMTANCiAgWzxmZmZmZmZmZjgxNDFmOTY2Pl0gc3VibWl0X2JpbysweDc2LzB4MTcwDQog
IFs8ZmZmZmZmZmY4MTI4NmRmZj5dIHN1Ym1pdF9iaF93YmMrMHgxMmYvMHgxNjANCiAgWzxmZmZm
ZmZmZjgxMjg2ZTYyPl0gc3VibWl0X2JoKzB4MTIvMHgyMA0KICBbPGZmZmZmZmZmODEzMzk1YmQ+
XSBqYmQyX3dyaXRlX3N1cGVyYmxvY2srMHg4ZC8weDE3MA0KICBbPGZmZmZmZmZmODEzMzk3NGQ+
XSBqYmQyX21hcmtfam91cm5hbF9lbXB0eSsweDVkLzB4OTANCiAgWzxmZmZmZmZmZjgxMzM5OWNi
Pl0gamJkMl9qb3VybmFsX2Rlc3Ryb3krMHgyNGIvMHgyNzANCiAgWzxmZmZmZmZmZjgxMGJjNGNh
Pl0gPyBwdXRfcHdxX3VubG9ja2VkKzB4MmEvMHgzMA0KICBbPGZmZmZmZmZmODEwYmM2ZjU+XSA/
IGRlc3Ryb3lfd29ya3F1ZXVlKzB4MjI1LzB4MjUwDQogIFs8ZmZmZmZmZmY4MTMwMzQ5ND5dIGV4
dDRfcHV0X3N1cGVyKzB4NjQvMHgzNjANCiAgWzxmZmZmZmZmZjgxMjRhYjFhPl0gZ2VuZXJpY19z
aHV0ZG93bl9zdXBlcisweDZhLzB4ZjANCg0KQ2M6IEplbnMgQXhib2UgPGF4Ym9lQGtlcm5lbC5k
az4NCkNjOiBLZWl0aCBCdXNjaCA8a2VpdGguYnVzY2hAaW50ZWwuY29tPg0KQ2M6IFJvc3MgWndp
c2xlciA8cm9zcy56d2lzbGVyQGxpbnV4LmludGVsLmNvbT4NClN1Z2dlc3RlZC1ieTogQ2hyaXN0
b3BoIEhlbGx3aWcgPGhjaEBsc3QuZGU+DQpTaWduZWQtb2ZmLWJ5OiBEYW4gV2lsbGlhbXMgPGRh
bi5qLndpbGxpYW1zQGludGVsLmNvbT4NCi0tLQ0KIGJsb2NrL2Jsay1jb3JlLmMgICAgICAgfCA3
MSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLQ0KIGJsb2NrL2Js
ay1tcS1zeXNmcy5jICAgfCAgNiAtLS0tDQogYmxvY2svYmxrLW1xLmMgICAgICAgICB8IDgwICsr
KysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQogYmxvY2sv
YmxrLXN5c2ZzLmMgICAgICB8ICAzICstDQogYmxvY2svYmxrLmggICAgICAgICAgICB8IDE0ICsr
KysrKysrKw0KIGluY2x1ZGUvbGludXgvYmxrLW1xLmggfCAgMSAtDQogaW5jbHVkZS9saW51eC9i
bGtkZXYuaCB8ICAyICstDQogNyBmaWxlcyBjaGFuZ2VkLCAxMDIgaW5zZXJ0aW9ucygrKSwgNzUg
ZGVsZXRpb25zKC0pDQoNCmRpZmYgLS1naXQgYS9ibG9jay9ibGstY29yZS5jIGIvYmxvY2svYmxr
LWNvcmUuYw0KaW5kZXggMmViNzIyZDQ4NzczLi42MDYyNTUwYmFhZWYgMTAwNjQ0DQotLS0gYS9i
bG9jay9ibGstY29yZS5jDQorKysgYi9ibG9jay9ibGstY29yZS5jDQpAQCAtNTU0LDE5ICs1NTQs
MTcgQEAgdm9pZCBibGtfY2xlYW51cF9xdWV1ZShzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqcSkNCiAJ
ICogRHJhaW4gYWxsIHJlcXVlc3RzIHF1ZXVlZCBiZWZvcmUgRFlJTkcgbWFya2luZy4gU2V0IERF
QUQgZmxhZyB0bw0KIAkgKiBwcmV2ZW50IHRoYXQgcS0+cmVxdWVzdF9mbigpIGdldHMgaW52b2tl
ZCBhZnRlciBkcmFpbmluZyBmaW5pc2hlZC4NCiAJICovDQotCWlmIChxLT5tcV9vcHMpIHsNCi0J
CWJsa19tcV9mcmVlemVfcXVldWUocSk7DQotCQlzcGluX2xvY2tfaXJxKGxvY2spOw0KLQl9IGVs
c2Ugew0KLQkJc3Bpbl9sb2NrX2lycShsb2NrKTsNCisJYmxrX2ZyZWV6ZV9xdWV1ZShxKTsNCisJ
c3Bpbl9sb2NrX2lycShsb2NrKTsNCisJaWYgKCFxLT5tcV9vcHMpDQogCQlfX2Jsa19kcmFpbl9x
dWV1ZShxLCB0cnVlKTsNCi0JfQ0KIAlxdWV1ZV9mbGFnX3NldChRVUVVRV9GTEFHX0RFQUQsIHEp
Ow0KIAlzcGluX3VubG9ja19pcnEobG9jayk7DQogDQogCS8qIEBxIHdvbid0IHByb2Nlc3MgYW55
IG1vcmUgcmVxdWVzdCwgZmx1c2ggYXN5bmMgYWN0aW9ucyAqLw0KIAlkZWxfdGltZXJfc3luYygm
cS0+YmFja2luZ19kZXZfaW5mby5sYXB0b3BfbW9kZV93Yl90aW1lcik7DQogCWJsa19zeW5jX3F1
ZXVlKHEpOw0KKwlwZXJjcHVfcmVmX2V4aXQoJnEtPnFfdXNhZ2VfY291bnRlcik7DQogDQogCWlm
IChxLT5tcV9vcHMpDQogCQlibGtfbXFfZnJlZV9xdWV1ZShxKTsNCkBAIC02MjksNiArNjI3LDQw
IEBAIHN0cnVjdCByZXF1ZXN0X3F1ZXVlICpibGtfYWxsb2NfcXVldWUoZ2ZwX3QgZ2ZwX21hc2sp
DQogfQ0KIEVYUE9SVF9TWU1CT0woYmxrX2FsbG9jX3F1ZXVlKTsNCiANCitpbnQgYmxrX3F1ZXVl
X2VudGVyKHN0cnVjdCByZXF1ZXN0X3F1ZXVlICpxLCBnZnBfdCBnZnApDQorew0KKwl3aGlsZSAo
dHJ1ZSkgew0KKwkJaW50IHJldDsNCisNCisJCWlmIChwZXJjcHVfcmVmX3RyeWdldF9saXZlKCZx
LT5xX3VzYWdlX2NvdW50ZXIpKQ0KKwkJCXJldHVybiAwOw0KKw0KKwkJaWYgKCEoZ2ZwICYgX19H
RlBfV0FJVCkpDQorCQkJcmV0dXJuIC1FQlVTWTsNCisNCisJCXJldCA9IHdhaXRfZXZlbnRfaW50
ZXJydXB0aWJsZShxLT5tcV9mcmVlemVfd3EsDQorCQkJCSFhdG9taWNfcmVhZCgmcS0+bXFfZnJl
ZXplX2RlcHRoKSB8fA0KKwkJCQlibGtfcXVldWVfZHlpbmcocSkpOw0KKwkJaWYgKGJsa19xdWV1
ZV9keWluZyhxKSkNCisJCQlyZXR1cm4gLUVOT0RFVjsNCisJCWlmIChyZXQpDQorCQkJcmV0dXJu
IHJldDsNCisJfQ0KK30NCisNCit2b2lkIGJsa19xdWV1ZV9leGl0KHN0cnVjdCByZXF1ZXN0X3F1
ZXVlICpxKQ0KK3sNCisJcGVyY3B1X3JlZl9wdXQoJnEtPnFfdXNhZ2VfY291bnRlcik7DQorfQ0K
Kw0KK3N0YXRpYyB2b2lkIGJsa19xdWV1ZV91c2FnZV9jb3VudGVyX3JlbGVhc2Uoc3RydWN0IHBl
cmNwdV9yZWYgKnJlZikNCit7DQorCXN0cnVjdCByZXF1ZXN0X3F1ZXVlICpxID0NCisJCWNvbnRh
aW5lcl9vZihyZWYsIHN0cnVjdCByZXF1ZXN0X3F1ZXVlLCBxX3VzYWdlX2NvdW50ZXIpOw0KKw0K
Kwl3YWtlX3VwX2FsbCgmcS0+bXFfZnJlZXplX3dxKTsNCit9DQorDQogc3RydWN0IHJlcXVlc3Rf
cXVldWUgKmJsa19hbGxvY19xdWV1ZV9ub2RlKGdmcF90IGdmcF9tYXNrLCBpbnQgbm9kZV9pZCkN
CiB7DQogCXN0cnVjdCByZXF1ZXN0X3F1ZXVlICpxOw0KQEAgLTY5MCwxMSArNzIyLDIyIEBAIHN0
cnVjdCByZXF1ZXN0X3F1ZXVlICpibGtfYWxsb2NfcXVldWVfbm9kZShnZnBfdCBnZnBfbWFzaywg
aW50IG5vZGVfaWQpDQogDQogCWluaXRfd2FpdHF1ZXVlX2hlYWQoJnEtPm1xX2ZyZWV6ZV93cSk7
DQogDQotCWlmIChibGtjZ19pbml0X3F1ZXVlKHEpKQ0KKwkvKg0KKwkgKiBJbml0IHBlcmNwdV9y
ZWYgaW4gYXRvbWljIG1vZGUgc28gdGhhdCBpdCdzIGZhc3RlciB0byBzaHV0ZG93bi4NCisJICog
U2VlIGJsa19yZWdpc3Rlcl9xdWV1ZSgpIGZvciBkZXRhaWxzLg0KKwkgKi8NCisJaWYgKHBlcmNw
dV9yZWZfaW5pdCgmcS0+cV91c2FnZV9jb3VudGVyLA0KKwkJCQlibGtfcXVldWVfdXNhZ2VfY291
bnRlcl9yZWxlYXNlLA0KKwkJCQlQRVJDUFVfUkVGX0lOSVRfQVRPTUlDLCBHRlBfS0VSTkVMKSkN
CiAJCWdvdG8gZmFpbF9iZGk7DQogDQorCWlmIChibGtjZ19pbml0X3F1ZXVlKHEpKQ0KKwkJZ290
byBmYWlsX3JlZjsNCisNCiAJcmV0dXJuIHE7DQogDQorZmFpbF9yZWY6DQorCXBlcmNwdV9yZWZf
ZXhpdCgmcS0+cV91c2FnZV9jb3VudGVyKTsNCiBmYWlsX2JkaToNCiAJYmRpX2Rlc3Ryb3koJnEt
PmJhY2tpbmdfZGV2X2luZm8pOw0KIGZhaWxfc3BsaXQ6DQpAQCAtMTk2Niw5ICsyMDA5LDE5IEBA
IHZvaWQgZ2VuZXJpY19tYWtlX3JlcXVlc3Qoc3RydWN0IGJpbyAqYmlvKQ0KIAlkbyB7DQogCQlz
dHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqcSA9IGJkZXZfZ2V0X3F1ZXVlKGJpby0+YmlfYmRldik7DQog
DQotCQlxLT5tYWtlX3JlcXVlc3RfZm4ocSwgYmlvKTsNCisJCWlmIChsaWtlbHkoYmxrX3F1ZXVl
X2VudGVyKHEsIF9fR0ZQX1dBSVQpID09IDApKSB7DQorDQorCQkJcS0+bWFrZV9yZXF1ZXN0X2Zu
KHEsIGJpbyk7DQorDQorCQkJYmxrX3F1ZXVlX2V4aXQocSk7DQogDQotCQliaW8gPSBiaW9fbGlz
dF9wb3AoY3VycmVudC0+YmlvX2xpc3QpOw0KKwkJCWJpbyA9IGJpb19saXN0X3BvcChjdXJyZW50
LT5iaW9fbGlzdCk7DQorCQl9IGVsc2Ugew0KKwkJCXN0cnVjdCBiaW8gKmJpb19uZXh0ID0gYmlv
X2xpc3RfcG9wKGN1cnJlbnQtPmJpb19saXN0KTsNCisNCisJCQliaW9faW9fZXJyb3IoYmlvKTsN
CisJCQliaW8gPSBiaW9fbmV4dDsNCisJCX0NCiAJfSB3aGlsZSAoYmlvKTsNCiAJY3VycmVudC0+
YmlvX2xpc3QgPSBOVUxMOyAvKiBkZWFjdGl2YXRlICovDQogfQ0KZGlmZiAtLWdpdCBhL2Jsb2Nr
L2Jsay1tcS1zeXNmcy5jIGIvYmxvY2svYmxrLW1xLXN5c2ZzLmMNCmluZGV4IDI3OWM1ZDY3NGVk
Zi4uNzMxYjZlZWNjZTgyIDEwMDY0NA0KLS0tIGEvYmxvY2svYmxrLW1xLXN5c2ZzLmMNCisrKyBi
L2Jsb2NrL2Jsay1tcS1zeXNmcy5jDQpAQCAtNDEyLDEyICs0MTIsNiBAQCBzdGF0aWMgdm9pZCBi
bGtfbXFfc3lzZnNfaW5pdChzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqcSkNCiAJCWtvYmplY3RfaW5p
dCgmY3R4LT5rb2JqLCAmYmxrX21xX2N0eF9rdHlwZSk7DQogfQ0KIA0KLS8qIHNlZSBibGtfcmVn
aXN0ZXJfcXVldWUoKSAqLw0KLXZvaWQgYmxrX21xX2ZpbmlzaF9pbml0KHN0cnVjdCByZXF1ZXN0
X3F1ZXVlICpxKQ0KLXsNCi0JcGVyY3B1X3JlZl9zd2l0Y2hfdG9fcGVyY3B1KCZxLT5tcV91c2Fn
ZV9jb3VudGVyKTsNCi19DQotDQogaW50IGJsa19tcV9yZWdpc3Rlcl9kaXNrKHN0cnVjdCBnZW5k
aXNrICpkaXNrKQ0KIHsNCiAJc3RydWN0IGRldmljZSAqZGV2ID0gZGlza190b19kZXYoZGlzayk7
DQpkaWZmIC0tZ2l0IGEvYmxvY2svYmxrLW1xLmMgYi9ibG9jay9ibGstbXEuYw0KaW5kZXggZjJk
NjdiNDA0N2EwLi42ZDkxODk0Y2Y4NWUgMTAwNjQ0DQotLS0gYS9ibG9jay9ibGstbXEuYw0KKysr
IGIvYmxvY2svYmxrLW1xLmMNCkBAIC03Nyw0NyArNzcsMTMgQEAgc3RhdGljIHZvaWQgYmxrX21x
X2hjdHhfY2xlYXJfcGVuZGluZyhzdHJ1Y3QgYmxrX21xX2h3X2N0eCAqaGN0eCwNCiAJY2xlYXJf
Yml0KENUWF9UT19CSVQoaGN0eCwgY3R4KSwgJmJtLT53b3JkKTsNCiB9DQogDQotc3RhdGljIGlu
dCBibGtfbXFfcXVldWVfZW50ZXIoc3RydWN0IHJlcXVlc3RfcXVldWUgKnEsIGdmcF90IGdmcCkN
Ci17DQotCXdoaWxlICh0cnVlKSB7DQotCQlpbnQgcmV0Ow0KLQ0KLQkJaWYgKHBlcmNwdV9yZWZf
dHJ5Z2V0X2xpdmUoJnEtPm1xX3VzYWdlX2NvdW50ZXIpKQ0KLQkJCXJldHVybiAwOw0KLQ0KLQkJ
aWYgKCEoZ2ZwICYgX19HRlBfV0FJVCkpDQotCQkJcmV0dXJuIC1FQlVTWTsNCi0NCi0JCXJldCA9
IHdhaXRfZXZlbnRfaW50ZXJydXB0aWJsZShxLT5tcV9mcmVlemVfd3EsDQotCQkJCSFhdG9taWNf
cmVhZCgmcS0+bXFfZnJlZXplX2RlcHRoKSB8fA0KLQkJCQlibGtfcXVldWVfZHlpbmcocSkpOw0K
LQkJaWYgKGJsa19xdWV1ZV9keWluZyhxKSkNCi0JCQlyZXR1cm4gLUVOT0RFVjsNCi0JCWlmIChy
ZXQpDQotCQkJcmV0dXJuIHJldDsNCi0JfQ0KLX0NCi0NCi1zdGF0aWMgdm9pZCBibGtfbXFfcXVl
dWVfZXhpdChzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqcSkNCi17DQotCXBlcmNwdV9yZWZfcHV0KCZx
LT5tcV91c2FnZV9jb3VudGVyKTsNCi19DQotDQotc3RhdGljIHZvaWQgYmxrX21xX3VzYWdlX2Nv
dW50ZXJfcmVsZWFzZShzdHJ1Y3QgcGVyY3B1X3JlZiAqcmVmKQ0KLXsNCi0Jc3RydWN0IHJlcXVl
c3RfcXVldWUgKnEgPQ0KLQkJY29udGFpbmVyX29mKHJlZiwgc3RydWN0IHJlcXVlc3RfcXVldWUs
IG1xX3VzYWdlX2NvdW50ZXIpOw0KLQ0KLQl3YWtlX3VwX2FsbCgmcS0+bXFfZnJlZXplX3dxKTsN
Ci19DQotDQogdm9pZCBibGtfbXFfZnJlZXplX3F1ZXVlX3N0YXJ0KHN0cnVjdCByZXF1ZXN0X3F1
ZXVlICpxKQ0KIHsNCiAJaW50IGZyZWV6ZV9kZXB0aDsNCiANCiAJZnJlZXplX2RlcHRoID0gYXRv
bWljX2luY19yZXR1cm4oJnEtPm1xX2ZyZWV6ZV9kZXB0aCk7DQogCWlmIChmcmVlemVfZGVwdGgg
PT0gMSkgew0KLQkJcGVyY3B1X3JlZl9raWxsKCZxLT5tcV91c2FnZV9jb3VudGVyKTsNCisJCXBl
cmNwdV9yZWZfa2lsbCgmcS0+cV91c2FnZV9jb3VudGVyKTsNCiAJCWJsa19tcV9ydW5faHdfcXVl
dWVzKHEsIGZhbHNlKTsNCiAJfQ0KIH0NCkBAIC0xMjUsMTggKzkxLDM0IEBAIEVYUE9SVF9TWU1C
T0xfR1BMKGJsa19tcV9mcmVlemVfcXVldWVfc3RhcnQpOw0KIA0KIHN0YXRpYyB2b2lkIGJsa19t
cV9mcmVlemVfcXVldWVfd2FpdChzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqcSkNCiB7DQotCXdhaXRf
ZXZlbnQocS0+bXFfZnJlZXplX3dxLCBwZXJjcHVfcmVmX2lzX3plcm8oJnEtPm1xX3VzYWdlX2Nv
dW50ZXIpKTsNCisJd2FpdF9ldmVudChxLT5tcV9mcmVlemVfd3EsIHBlcmNwdV9yZWZfaXNfemVy
bygmcS0+cV91c2FnZV9jb3VudGVyKSk7DQogfQ0KIA0KIC8qDQogICogR3VhcmFudGVlIG5vIHJl
cXVlc3QgaXMgaW4gdXNlLCBzbyB3ZSBjYW4gY2hhbmdlIGFueSBkYXRhIHN0cnVjdHVyZSBvZg0K
ICAqIHRoZSBxdWV1ZSBhZnRlcndhcmQuDQogICovDQotdm9pZCBibGtfbXFfZnJlZXplX3F1ZXVl
KHN0cnVjdCByZXF1ZXN0X3F1ZXVlICpxKQ0KK3ZvaWQgYmxrX2ZyZWV6ZV9xdWV1ZShzdHJ1Y3Qg
cmVxdWVzdF9xdWV1ZSAqcSkNCiB7DQorCS8qDQorCSAqIEluIHRoZSAhYmxrX21xIGNhc2Ugd2Ug
YXJlIG9ubHkgY2FsbGluZyB0aGlzIHRvIGtpbGwgdGhlDQorCSAqIHFfdXNhZ2VfY291bnRlciwg
b3RoZXJ3aXNlIHRoaXMgaW5jcmVhc2VzIHRoZSBmcmVlemUgZGVwdGgNCisJICogYW5kIHdhaXRz
IGZvciBpdCB0byByZXR1cm4gdG8gemVyby4gIEZvciB0aGlzIHJlYXNvbiB0aGVyZSBpcw0KKwkg
KiBubyBibGtfdW5mcmVlemVfcXVldWUoKSwgYW5kIGJsa19mcmVlemVfcXVldWUoKSBpcyBub3QN
CisJICogZXhwb3J0ZWQgdG8gZHJpdmVycyBhcyB0aGUgb25seSB1c2VyIGZvciB1bmZyZWV6ZSBp
cyBibGtfbXEuDQorCSAqLw0KIAlibGtfbXFfZnJlZXplX3F1ZXVlX3N0YXJ0KHEpOw0KIAlibGtf
bXFfZnJlZXplX3F1ZXVlX3dhaXQocSk7DQogfQ0KKw0KK3ZvaWQgYmxrX21xX2ZyZWV6ZV9xdWV1
ZShzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqcSkNCit7DQorCS8qDQorCSAqIC4uLmp1c3QgYW4gYWxp
YXMgdG8ga2VlcCBmcmVlemUgYW5kIHVuZnJlZXplIGFjdGlvbnMgYmFsYW5jZWQNCisJICogaW4g
dGhlIGJsa19tcV8qIG5hbWVzcGFjZQ0KKwkgKi8NCisJYmxrX2ZyZWV6ZV9xdWV1ZShxKTsNCit9
DQogRVhQT1JUX1NZTUJPTF9HUEwoYmxrX21xX2ZyZWV6ZV9xdWV1ZSk7DQogDQogdm9pZCBibGtf
bXFfdW5mcmVlemVfcXVldWUoc3RydWN0IHJlcXVlc3RfcXVldWUgKnEpDQpAQCAtMTQ2LDcgKzEy
OCw3IEBAIHZvaWQgYmxrX21xX3VuZnJlZXplX3F1ZXVlKHN0cnVjdCByZXF1ZXN0X3F1ZXVlICpx
KQ0KIAlmcmVlemVfZGVwdGggPSBhdG9taWNfZGVjX3JldHVybigmcS0+bXFfZnJlZXplX2RlcHRo
KTsNCiAJV0FSTl9PTl9PTkNFKGZyZWV6ZV9kZXB0aCA8IDApOw0KIAlpZiAoIWZyZWV6ZV9kZXB0
aCkgew0KLQkJcGVyY3B1X3JlZl9yZWluaXQoJnEtPm1xX3VzYWdlX2NvdW50ZXIpOw0KKwkJcGVy
Y3B1X3JlZl9yZWluaXQoJnEtPnFfdXNhZ2VfY291bnRlcik7DQogCQl3YWtlX3VwX2FsbCgmcS0+
bXFfZnJlZXplX3dxKTsNCiAJfQ0KIH0NCkBAIC0yNTUsNyArMjM3LDcgQEAgc3RydWN0IHJlcXVl
c3QgKmJsa19tcV9hbGxvY19yZXF1ZXN0KHN0cnVjdCByZXF1ZXN0X3F1ZXVlICpxLCBpbnQgcncs
IGdmcF90IGdmcCwNCiAJc3RydWN0IGJsa19tcV9hbGxvY19kYXRhIGFsbG9jX2RhdGE7DQogCWlu
dCByZXQ7DQogDQotCXJldCA9IGJsa19tcV9xdWV1ZV9lbnRlcihxLCBnZnApOw0KKwlyZXQgPSBi
bGtfcXVldWVfZW50ZXIocSwgZ2ZwKTsNCiAJaWYgKHJldCkNCiAJCXJldHVybiBFUlJfUFRSKHJl
dCk7DQogDQpAQCAtMjc4LDcgKzI2MCw3IEBAIHN0cnVjdCByZXF1ZXN0ICpibGtfbXFfYWxsb2Nf
cmVxdWVzdChzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqcSwgaW50IHJ3LCBnZnBfdCBnZnAsDQogCX0N
CiAJYmxrX21xX3B1dF9jdHgoY3R4KTsNCiAJaWYgKCFycSkgew0KLQkJYmxrX21xX3F1ZXVlX2V4
aXQocSk7DQorCQlibGtfcXVldWVfZXhpdChxKTsNCiAJCXJldHVybiBFUlJfUFRSKC1FV09VTERC
TE9DSyk7DQogCX0NCiAJcmV0dXJuIHJxOw0KQEAgLTI5Nyw3ICsyNzksNyBAQCBzdGF0aWMgdm9p
ZCBfX2Jsa19tcV9mcmVlX3JlcXVlc3Qoc3RydWN0IGJsa19tcV9od19jdHggKmhjdHgsDQogDQog
CWNsZWFyX2JpdChSRVFfQVRPTV9TVEFSVEVELCAmcnEtPmF0b21pY19mbGFncyk7DQogCWJsa19t
cV9wdXRfdGFnKGhjdHgsIHRhZywgJmN0eC0+bGFzdF90YWcpOw0KLQlibGtfbXFfcXVldWVfZXhp
dChxKTsNCisJYmxrX3F1ZXVlX2V4aXQocSk7DQogfQ0KIA0KIHZvaWQgYmxrX21xX2ZyZWVfaGN0
eF9yZXF1ZXN0KHN0cnVjdCBibGtfbXFfaHdfY3R4ICpoY3R4LCBzdHJ1Y3QgcmVxdWVzdCAqcnEp
DQpAQCAtMTE4NCwxMSArMTE2Niw3IEBAIHN0YXRpYyBzdHJ1Y3QgcmVxdWVzdCAqYmxrX21xX21h
cF9yZXF1ZXN0KHN0cnVjdCByZXF1ZXN0X3F1ZXVlICpxLA0KIAlpbnQgcncgPSBiaW9fZGF0YV9k
aXIoYmlvKTsNCiAJc3RydWN0IGJsa19tcV9hbGxvY19kYXRhIGFsbG9jX2RhdGE7DQogDQotCWlm
ICh1bmxpa2VseShibGtfbXFfcXVldWVfZW50ZXIocSwgR0ZQX0tFUk5FTCkpKSB7DQotCQliaW9f
aW9fZXJyb3IoYmlvKTsNCi0JCXJldHVybiBOVUxMOw0KLQl9DQotDQorCWJsa19xdWV1ZV9lbnRl
cl9saXZlKHEpOw0KIAljdHggPSBibGtfbXFfZ2V0X2N0eChxKTsNCiAJaGN0eCA9IHEtPm1xX29w
cy0+bWFwX3F1ZXVlKHEsIGN0eC0+Y3B1KTsNCiANCkBAIC0xOTc5LDE0ICsxOTU3LDYgQEAgc3Ry
dWN0IHJlcXVlc3RfcXVldWUgKmJsa19tcV9pbml0X2FsbG9jYXRlZF9xdWV1ZShzdHJ1Y3QgYmxr
X21xX3RhZ19zZXQgKnNldCwNCiAJCWhjdHhzW2ldLT5xdWV1ZV9udW0gPSBpOw0KIAl9DQogDQot
CS8qDQotCSAqIEluaXQgcGVyY3B1X3JlZiBpbiBhdG9taWMgbW9kZSBzbyB0aGF0IGl0J3MgZmFz
dGVyIHRvIHNodXRkb3duLg0KLQkgKiBTZWUgYmxrX3JlZ2lzdGVyX3F1ZXVlKCkgZm9yIGRldGFp
bHMuDQotCSAqLw0KLQlpZiAocGVyY3B1X3JlZl9pbml0KCZxLT5tcV91c2FnZV9jb3VudGVyLCBi
bGtfbXFfdXNhZ2VfY291bnRlcl9yZWxlYXNlLA0KLQkJCSAgICBQRVJDUFVfUkVGX0lOSVRfQVRP
TUlDLCBHRlBfS0VSTkVMKSkNCi0JCWdvdG8gZXJyX2hjdHhzOw0KLQ0KIAlzZXR1cF90aW1lcigm
cS0+dGltZW91dCwgYmxrX21xX3JxX3RpbWVyLCAodW5zaWduZWQgbG9uZykgcSk7DQogCWJsa19x
dWV1ZV9ycV90aW1lb3V0KHEsIHNldC0+dGltZW91dCA/IHNldC0+dGltZW91dCA6IDMwICogSFop
Ow0KIA0KQEAgLTIwNjIsOCArMjAzMiw2IEBAIHZvaWQgYmxrX21xX2ZyZWVfcXVldWUoc3RydWN0
IHJlcXVlc3RfcXVldWUgKnEpDQogCWJsa19tcV9leGl0X2h3X3F1ZXVlcyhxLCBzZXQsIHNldC0+
bnJfaHdfcXVldWVzKTsNCiAJYmxrX21xX2ZyZWVfaHdfcXVldWVzKHEsIHNldCk7DQogDQotCXBl
cmNwdV9yZWZfZXhpdCgmcS0+bXFfdXNhZ2VfY291bnRlcik7DQotDQogCWtmcmVlKHEtPm1xX21h
cCk7DQogDQogCXEtPm1xX21hcCA9IE5VTEw7DQpkaWZmIC0tZ2l0IGEvYmxvY2svYmxrLXN5c2Zz
LmMgYi9ibG9jay9ibGstc3lzZnMuYw0KaW5kZXggM2U0NGE5ZGEyYTEzLi42MWZjMjYzM2JiZWEg
MTAwNjQ0DQotLS0gYS9ibG9jay9ibGstc3lzZnMuYw0KKysrIGIvYmxvY2svYmxrLXN5c2ZzLmMN
CkBAIC01OTksOSArNTk5LDggQEAgaW50IGJsa19yZWdpc3Rlcl9xdWV1ZShzdHJ1Y3QgZ2VuZGlz
ayAqZGlzaykNCiAJICovDQogCWlmICghYmxrX3F1ZXVlX2luaXRfZG9uZShxKSkgew0KIAkJcXVl
dWVfZmxhZ19zZXRfdW5sb2NrZWQoUVVFVUVfRkxBR19JTklUX0RPTkUsIHEpOw0KKwkJcGVyY3B1
X3JlZl9zd2l0Y2hfdG9fcGVyY3B1KCZxLT5xX3VzYWdlX2NvdW50ZXIpOw0KIAkJYmxrX3F1ZXVl
X2J5cGFzc19lbmQocSk7DQotCQlpZiAocS0+bXFfb3BzKQ0KLQkJCWJsa19tcV9maW5pc2hfaW5p
dChxKTsNCiAJfQ0KIA0KIAlyZXQgPSBibGtfdHJhY2VfaW5pdF9zeXNmcyhkZXYpOw0KZGlmZiAt
LWdpdCBhL2Jsb2NrL2Jsay5oIGIvYmxvY2svYmxrLmgNCmluZGV4IDk4NjE0YWQzN2M4MS4uNWIy
Y2QzOTNhZmJlIDEwMDY0NA0KLS0tIGEvYmxvY2svYmxrLmgNCisrKyBiL2Jsb2NrL2Jsay5oDQpA
QCAtNzIsNiArNzIsMjAgQEAgdm9pZCBibGtfZGVxdWV1ZV9yZXF1ZXN0KHN0cnVjdCByZXF1ZXN0
ICpycSk7DQogdm9pZCBfX2Jsa19xdWV1ZV9mcmVlX3RhZ3Moc3RydWN0IHJlcXVlc3RfcXVldWUg
KnEpOw0KIGJvb2wgX19ibGtfZW5kX2JpZGlfcmVxdWVzdChzdHJ1Y3QgcmVxdWVzdCAqcnEsIGlu
dCBlcnJvciwNCiAJCQkgICAgdW5zaWduZWQgaW50IG5yX2J5dGVzLCB1bnNpZ25lZCBpbnQgYmlk
aV9ieXRlcyk7DQoraW50IGJsa19xdWV1ZV9lbnRlcihzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqcSwg
Z2ZwX3QgZ2ZwKTsNCit2b2lkIGJsa19xdWV1ZV9leGl0KHN0cnVjdCByZXF1ZXN0X3F1ZXVlICpx
KTsNCit2b2lkIGJsa19mcmVlemVfcXVldWUoc3RydWN0IHJlcXVlc3RfcXVldWUgKnEpOw0KKw0K
K3N0YXRpYyBpbmxpbmUgdm9pZCBibGtfcXVldWVfZW50ZXJfbGl2ZShzdHJ1Y3QgcmVxdWVzdF9x
dWV1ZSAqcSkNCit7DQorCS8qDQorCSAqIEdpdmVuIHRoYXQgcnVubmluZyBpbiBnZW5lcmljX21h
a2VfcmVxdWVzdCgpIGNvbnRleHQNCisJICogZ3VhcmFudGVlcyB0aGF0IGEgbGl2ZSByZWZlcmVu
Y2UgYWdhaW5zdCBxX3VzYWdlX2NvdW50ZXIgaGFzDQorCSAqIGJlZW4gZXN0YWJsaXNoZWQsIGZ1
cnRoZXIgcmVmZXJlbmNlcyB1bmRlciB0aGF0IHNhbWUgY29udGV4dA0KKwkgKiBuZWVkIG5vdCBj
aGVjayB0aGF0IHRoZSBxdWV1ZSBoYXMgYmVlbiBmcm96ZW4gKG1hcmtlZCBkZWFkKS4NCisJICov
DQorCXBlcmNwdV9yZWZfZ2V0KCZxLT5xX3VzYWdlX2NvdW50ZXIpOw0KK30NCiANCiB2b2lkIGJs
a19ycV90aW1lZF9vdXRfdGltZXIodW5zaWduZWQgbG9uZyBkYXRhKTsNCiB1bnNpZ25lZCBsb25n
IGJsa19ycV90aW1lb3V0KHVuc2lnbmVkIGxvbmcgdGltZW91dCk7DQpkaWZmIC0tZ2l0IGEvaW5j
bHVkZS9saW51eC9ibGstbXEuaCBiL2luY2x1ZGUvbGludXgvYmxrLW1xLmgNCmluZGV4IDM3ZDE2
MDJjNGY3YS4uMjVjZTc2M2ZiYjgxIDEwMDY0NA0KLS0tIGEvaW5jbHVkZS9saW51eC9ibGstbXEu
aA0KKysrIGIvaW5jbHVkZS9saW51eC9ibGstbXEuaA0KQEAgLTE2Nyw3ICsxNjcsNiBAQCBlbnVt
IHsNCiBzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSAqYmxrX21xX2luaXRfcXVldWUoc3RydWN0IGJsa19t
cV90YWdfc2V0ICopOw0KIHN0cnVjdCByZXF1ZXN0X3F1ZXVlICpibGtfbXFfaW5pdF9hbGxvY2F0
ZWRfcXVldWUoc3RydWN0IGJsa19tcV90YWdfc2V0ICpzZXQsDQogCQkJCQkJICBzdHJ1Y3QgcmVx
dWVzdF9xdWV1ZSAqcSk7DQotdm9pZCBibGtfbXFfZmluaXNoX2luaXQoc3RydWN0IHJlcXVlc3Rf
cXVldWUgKnEpOw0KIGludCBibGtfbXFfcmVnaXN0ZXJfZGlzayhzdHJ1Y3QgZ2VuZGlzayAqKTsN
CiB2b2lkIGJsa19tcV91bnJlZ2lzdGVyX2Rpc2soc3RydWN0IGdlbmRpc2sgKik7DQogDQpkaWZm
IC0tZ2l0IGEvaW5jbHVkZS9saW51eC9ibGtkZXYuaCBiL2luY2x1ZGUvbGludXgvYmxrZGV2LmgN
CmluZGV4IDk5ZGE5ZWJjNzM3Ny4uMGEwZGVmNjZjNjFlIDEwMDY0NA0KLS0tIGEvaW5jbHVkZS9s
aW51eC9ibGtkZXYuaA0KKysrIGIvaW5jbHVkZS9saW51eC9ibGtkZXYuaA0KQEAgLTQ1MCw3ICs0
NTAsNyBAQCBzdHJ1Y3QgcmVxdWVzdF9xdWV1ZSB7DQogI2VuZGlmDQogCXN0cnVjdCByY3VfaGVh
ZAkJcmN1X2hlYWQ7DQogCXdhaXRfcXVldWVfaGVhZF90CW1xX2ZyZWV6ZV93cTsNCi0Jc3RydWN0
IHBlcmNwdV9yZWYJbXFfdXNhZ2VfY291bnRlcjsNCisJc3RydWN0IHBlcmNwdV9yZWYJcV91c2Fn
ZV9jb3VudGVyOw0KIAlzdHJ1Y3QgbGlzdF9oZWFkCWFsbF9xX25vZGU7DQogDQogCXN0cnVjdCBi
bGtfbXFfdGFnX3NldAkqdGFnX3NldDsNCi0tIA0KMi4xLjANCg0KDQoNCg==
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Back to linux.kernel | Previous | NextPrevious in thread | Find similar | Unroll thread


Thread

[PATCH 08/15] block, dax, pmem: reference counting infrastructure Dan Williams <dan.j.williams@intel.com> - 2015-09-23 06:50 +0200
  Re: [PATCH 08/15] block, dax, pmem: reference counting infrastructure Christoph Hellwig <hch@infradead.org> - 2015-09-24 17:20 +0200
    Re: [PATCH 08/15] block, dax, pmem: reference counting infrastructure Dan Williams <dan.j.williams@intel.com> - 2015-09-25 02:10 +0200
      Re: [PATCH 08/15] block, dax, pmem: reference counting infrastructure Christoph Hellwig <hch@infradead.org> - 2015-09-25 13:40 +0200
        Re: [PATCH 08/15] block, dax, pmem: reference counting  infrastructure "Williams, Dan J" <dan.j.williams@intel.com> - 2015-09-25 23:10 +0200

csiph-web