From mboxrd@z Thu Jan 1 00:00:00 1970 From: Coly Li Subject: Re: [PATCH 2/4] dm stats: support precise timestamps Date: Sun, 14 Jun 2015 01:03:34 +0800 Message-ID: <557C6266.3040008@gmail.com> References: Reply-To: device-mapper development Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: dm-devel-bounces@redhat.com Errors-To: dm-devel-bounces@redhat.com To: Mikulas Patocka , "Alasdair G. Kergon" , Mike Snitzer Cc: Tao Ma , dm-devel@redhat.com, Laurence Oberman , Robin Dong List-Id: dm-devel.ids 5ZyoIDE1LzYvMTAg5LiK5Y2INToyMSwgTWlrdWxhcyBQYXRvY2thIOWGmemBkzoKPiBUaGlzIHBh dGNoIG1ha2VzIGl0IHBvc3NpYmxlIHRvIHVzZSBwcmVjaXNlIHRpbWVzdGFtcHMgd2l0aCBuYW5v c2Vjb25kCj4gZ3JhbnVsYXJpdHkgaW4gZG0gc3RhdGlzdGljcy4KPgo+IFNpZ25lZC1vZmYtYnk6 IE1pa3VsYXMgUGF0b2NrYSA8bXBhdG9ja2FAcmVkaGF0LmNvbT4KPgo+IC0tLQo+ICBEb2N1bWVu dGF0aW9uL2RldmljZS1tYXBwZXIvc3RhdGlzdGljcy50eHQgfCAgIDI1ICsrKystCj4gIGRyaXZl cnMvbWQvZG0tc3RhdHMuYyAgICAgICAgICAgICAgICAgICAgICB8ICAxMzkgKysrKysrKysrKysr KysrKysrKysrLS0tLS0tLS0KPiAgZHJpdmVycy9tZC9kbS1zdGF0cy5oICAgICAgICAgICAgICAg ICAgICAgIHwgICAgNCAKPiAgMyBmaWxlcyBjaGFuZ2VkLCAxMjUgaW5zZXJ0aW9ucygrKSwgNDMg ZGVsZXRpb25zKC0pCj4KPiBJbmRleDogbGludXgtNC4xLXJjNy9kcml2ZXJzL21kL2RtLXN0YXRz LmMKPiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09Cj4gLS0tIGxpbnV4LTQuMS1yYzcub3JpZy9kcml2ZXJzL21kL2RtLXN0 YXRzLmMJMjAxNS0wNi0wOCAxNjowMjoyNy4wMDAwMDAwMDAgKzAyMDAKPiArKysgbGludXgtNC4x LXJjNy9kcml2ZXJzL21kL2RtLXN0YXRzLmMJMjAxNS0wNi0wOCAxNjozODo0My4wMDAwMDAwMDAg KzAyMDAKPiBAQCAtMzMsMTMgKzMzLDE0IEBAIHN0cnVjdCBkbV9zdGF0X3BlcmNwdSB7Cj4gIApb c25pcF0KPiBAQCAtNTYwLDggKzU3OCwxNyBAQCB2b2lkIGRtX3N0YXRzX2FjY291bnRfaW8oc3Ry dWN0IGRtX3N0YXRzCj4gIAo+ICAJcmN1X3JlYWRfbG9jaygpOwo+ICAKPiAtCWxpc3RfZm9yX2Vh Y2hfZW50cnlfcmN1KHMsICZzdGF0cy0+bGlzdCwgbGlzdF9lbnRyeSkKPiAtCQlfX2RtX3N0YXRf YmlvKHMsIGJpX3J3LCBiaV9zZWN0b3IsIGVuZF9zZWN0b3IsIGVuZCwgZHVyYXRpb24sIHN0YXRz X2F1eCk7Cj4gKwlnb3RfcHJlY2lzZV90aW1lID0gZmFsc2U7Cj4gKwlsaXN0X2Zvcl9lYWNoX2Vu dHJ5X3JjdShzLCAmc3RhdHMtPmxpc3QsIGxpc3RfZW50cnkpIHsKPiArCQlpZiAocy0+c3RhdF9m bGFncyAmIFNUQVRfUFJFQ0lTRV9USU1FU1RBTVBTICYmICFnb3RfcHJlY2lzZV90aW1lKSB7Cj4g KwkJCWlmICghZW5kKQo+ICsJCQkJc3RhdHNfYXV4LT5kdXJhdGlvbl9ucyA9IGt0aW1lX3RvX25z KGt0aW1lX2dldCgpKTsKPiArCQkJZWxzZQo+ICsJCQkJc3RhdHNfYXV4LT5kdXJhdGlvbl9ucyA9 IGt0aW1lX3RvX25zKGt0aW1lX2dldCgpKSAtIHN0YXRzX2F1eC0+ZHVyYXRpb25fbnM7Cj4gKwkJ CWdvdF9wcmVjaXNlX3RpbWUgPSB0cnVlOwo+ICsJCX0KVGhlcmUgYXJlIG1hbnkgY29uZGl0aW9u cyB1c2VyIHNwYWNlIHByb2Nlc3NlcyBtYXkgcXVlcnkgdGhlIGdsb2JhbAp0aW1lciByZXNvdXJj ZSBmcmVxdWVudGx5LiBrdGltZV9nZXQoKSB3aWxsIGNhbGwgc3Bpbl9sb2NrIHdoZW4KYWNjZXNz aW5nIGdsb2JhbCB0aW1lciByZXNvdXJjZSwgY2FsbGluZyBrdGltZV9nZXQoKSBmb3IgZWFjaCBs aXN0IGVudHJ5Cm1pZ2h0IGludHJvZHVjZSBsb2NraW5nIGNvbnRlbnRpb24gd2hlbiBzdGF0cy0+ bGlzdCBpcyBxdWl0ZSBsYXJnZS4gQQpzYXRpc2ZpZWQgc29sdXRpb24gbWlnaHQgYmUgc29tZXRo aW5nIGxpa2UgdGhpcywKCisgICAgbm93ID0ga3RpbWVfdG9fbnMoa3RpbWVfZ2V0KCkpOworICAg IGxpc3RfZm9yX2VhY2hfZW50cnlfcmN1KHMsICZzdGF0cy0+bGlzdCwgbGlzdF9lbnRyeSkgewor ICAgICAgICBpZiAocy0+c3RhdF9mbGFncyAmIFNUQVRfUFJFQ0lTRV9USU1FU1RBTVBTICYmICFn b3RfcHJlY2lzZV90aW1lKSB7CisgICAgICAgICAgICBpZiAoIWVuZCkKKyAgICAgICAgICAgICAg ICBzdGF0c19hdXgtPmR1cmF0aW9uX25zID0gbm93OworICAgICAgICAgICAgZWxzZQorICAgICAg ICAgICAgICAgIHN0YXRzX2F1eC0+ZHVyYXRpb25fbnMgPSBub3cgLSBzdGF0c19hdXgtPmR1cmF0 aW9uX25zOworICAgICAgICAgICAgZ290X3ByZWNpc2VfdGltZSA9IHRydWU7CisgICAgICAgIH0K CkluIHRoaXMgY2FzZSB0aGUgZ2xvYmFsIHRpbWVyIGNvdWxkIGJlIGFjY2VzcyBvbmx5IG9uY2Us IGxvY2tpbmcKY29udGVudGlvbiBzaG91bGQgYmUgbXVjaCBsZXNzLiBZZXMsIGl0IGxvb2tzIHRv IGJlIHNvbWUgaW5hY2N1cmF0ZSwgYnV0CmZvciBoYXJkIGRpc2sgSS9PIGxhdGVuY3kgbWVhc3Vy ZW1lbnQsIHRoZSBkaWZmZXJlbmNlIGFsbW9zdCBjb3VsZCBiZQppZ25vcmVkLgo+ICsJCV9fZG1f c3RhdF9iaW8ocywgYmlfcncsIGJpX3NlY3RvciwgZW5kX3NlY3RvciwgZW5kLCBkdXJhdGlvbl9q aWZmaWVzLCBzdGF0c19hdXgpOwo+ICsJfQo+ICAKPiAgCXJjdV9yZWFkX3VubG9jaygpOwo+ICB9 CltzbmlwXQo+IEBAIC03NzIsMjEgKzgwMywzMSBAQCBzdGF0aWMgaW50IG1lc3NhZ2Vfc3RhdHNf Y3JlYXRlKHN0cnVjdCBtCj4gIAl1bnNpZ25lZCBsb25nIGxvbmcgc3RhcnQsIGVuZCwgbGVuLCBz dGVwOwo+ICAJdW5zaWduZWQgZGl2aXNvcjsKPiAgCWNvbnN0IGNoYXIgKnByb2dyYW1faWQsICph dXhfZGF0YTsKPiArCXVuc2lnbmVkIHN0YXRfZmxhZ3MgPSAwOwo+ICsKPiArCXN0cnVjdCBkbV9h cmdfc2V0IGFzLCBhc19iYWNrdXA7Cj4gKwljb25zdCBjaGFyICphOwo+ICsJdW5zaWduZWQgZmVh dHVyZV9hcmdzOwo+ICAKPiAgCS8qCj4gIAkgKiBJbnB1dCBmb3JtYXQ6Cj4gLQkgKiAgIDxyYW5n ZT4gPHN0ZXA+IFs8cHJvZ3JhbV9pZD4gWzxhdXhfZGF0YT5dXQo+ICsJICogICA8cmFuZ2U+IDxz dGVwPiBbPGV4dHJhX3BhcmFtZXRlcnM+IDxwYXJhbWV0ZXJzPl0gWzxwcm9ncmFtX2lkPiBbPGF1 eF9kYXRhPl1dCj4gIAkgKi8KPiAgCj4gLQlpZiAoYXJnYyA8IDMgfHwgYXJnYyA+IDUpCj4gKwlp ZiAoYXJnYyA8IDMpCj4gIAkJcmV0dXJuIC1FSU5WQUw7Cj4gIAo+IC0JaWYgKCFzdHJjbXAoYXJn dlsxXSwgIi0iKSkgewo+ICsJYXMuYXJnYyA9IGFyZ2M7Cj4gKwlhcy5hcmd2ID0gYXJndjsKPiAr CWRtX2NvbnN1bWVfYXJncygmYXMsIDEpOwo+ICsKPiArCWEgPSBkbV9zaGlmdF9hcmcoJmFzKTsK PiArCWlmICghc3RyY21wKGEsICItIikpIHsKPiAgCQlzdGFydCA9IDA7Cj4gIAkJbGVuID0gZG1f Z2V0X3NpemUobWQpOwo+ICAJCWlmICghbGVuKQo+ICAJCQlsZW4gPSAxOwo+IC0JfSBlbHNlIGlm IChzc2NhbmYoYXJndlsxXSwgIiVsbHUrJWxsdSVjIiwgJnN0YXJ0LCAmbGVuLCAmZHVtbXkpICE9 IDIgfHwKPiArCX0gZWxzZSBpZiAoc3NjYW5mKGEsICIlbGx1KyVsbHUlYyIsICZzdGFydCwgJmxl biwgJmR1bW15KSAhPSAyIHx8Cj4gIAkJICAgc3RhcnQgIT0gKHNlY3Rvcl90KXN0YXJ0IHx8IGxl biAhPSAoc2VjdG9yX3QpbGVuKQo+ICAJCXJldHVybiAtRUlOVkFMOwo+ICAKPiBAQCAtNzk0LDcg KzgzNSw4IEBAIHN0YXRpYyBpbnQgbWVzc2FnZV9zdGF0c19jcmVhdGUoc3RydWN0IG0KPiAgCWlm IChzdGFydCA+PSBlbmQpCj4gIAkJcmV0dXJuIC1FSU5WQUw7Cj4gIAo+IC0JaWYgKHNzY2FuZihh cmd2WzJdLCAiLyV1JWMiLCAmZGl2aXNvciwgJmR1bW15KSA9PSAxKSB7Cj4gKwlhID0gZG1fc2hp ZnRfYXJnKCZhcyk7Cj4gKwlpZiAoc3NjYW5mKGEsICIvJXUlYyIsICZkaXZpc29yLCAmZHVtbXkp ID09IDEpIHsKPiAgCQlpZiAoIWRpdmlzb3IpCj4gIAkJCXJldHVybiAtRUlOVkFMOwo+ICAJCXN0 ZXAgPSBlbmQgLSBzdGFydDsKPiBAQCAtODAyLDE4ICs4NDQsMzkgQEAgc3RhdGljIGludCBtZXNz YWdlX3N0YXRzX2NyZWF0ZShzdHJ1Y3QgbQo+ICAJCQlzdGVwKys7Cj4gIAkJaWYgKCFzdGVwKQo+ ICAJCQlzdGVwID0gMTsKPiAtCX0gZWxzZSBpZiAoc3NjYW5mKGFyZ3ZbMl0sICIlbGx1JWMiLCAm c3RlcCwgJmR1bW15KSAhPSAxIHx8Cj4gKwl9IGVsc2UgaWYgKHNzY2FuZihhLCAiJWxsdSVjIiwg JnN0ZXAsICZkdW1teSkgIT0gMSB8fAo+ICAJCSAgIHN0ZXAgIT0gKHNlY3Rvcl90KXN0ZXAgfHwg IXN0ZXApCj4gIAkJcmV0dXJuIC1FSU5WQUw7Cj4gIAo+ICsJYXNfYmFja3VwID0gYXM7Cj4gKwlh ID0gZG1fc2hpZnRfYXJnKCZhcyk7Cj4gKwlpZiAoYSAmJiBzc2NhbmYoYSwgIiV1JWMiLCAmZmVh dHVyZV9hcmdzLCAmZHVtbXkpID09IDEpIHsKPiArCQl3aGlsZSAoZmVhdHVyZV9hcmdzLS0pIHsK PiArCQkJYSA9IGRtX3NoaWZ0X2FyZygmYXMpOwo+ICsJCQlpZiAoIWEpCj4gKwkJCQlyZXR1cm4g LUVJTlZBTDsKPiArCQkJaWYgKCFzdHJjYXNlY21wKGEsICJwcmVjaXNlX3RpbWVzdGFtcHMiKSkK PiArCQkJCXN0YXRfZmxhZ3MgfD0gU1RBVF9QUkVDSVNFX1RJTUVTVEFNUFM7Cj4gKwkJCWVsc2UK PiArCQkJCXJldHVybiAtRUlOVkFMOwo+ICsJCX0KPiArCX0gZWxzZSB7Cj4gKwkJYXMgPSBhc19i YWNrdXA7Cj4gKwl9Cj4gKwo+ICAJcHJvZ3JhbV9pZCA9ICItIjsKPiAgCWF1eF9kYXRhID0gIi0i Owo+ICAKPiAtCWlmIChhcmdjID4gMykKPiAtCQlwcm9ncmFtX2lkID0gYXJndlszXTsKPiArCWEg PSBkbV9zaGlmdF9hcmcoJmFzKTsKPiArCWlmIChhKQo+ICsJCXByb2dyYW1faWQgPSBhOwo+ICsK PiArCWEgPSBkbV9zaGlmdF9hcmcoJmFzKTsKPiArCWlmIChhKQo+ICsJCWF1eF9kYXRhID0gYTsK PiAgCj4gLQlpZiAoYXJnYyA+IDQpCj4gLQkJYXV4X2RhdGEgPSBhcmd2WzRdOwo+ICsJaWYgKGFz LmFyZ2MpCj4gKwkJcmV0dXJuIC1FSU5WQUw7Cj4gIApJZiBJIGNvdWxkLCBJIHdvdWxkIHNpbXBs aWZ5IHRoZSBkZXNpZ24gdG8gcmVtb3ZlIHRoZSBhYm92ZSBjaGFuZ2VzIGluCm1lc3NhZ2Vfc3Rh dHNfY3JlYXRlKCkuIEp1c3QgbXkgc3VnZ2VzdGlvbiAuLi4KCltzbmlwXQoKQ29seQoKLS0KZG0t ZGV2ZWwgbWFpbGluZyBsaXN0CmRtLWRldmVsQHJlZGhhdC5jb20KaHR0cHM6Ly93d3cucmVkaGF0 LmNvbS9tYWlsbWFuL2xpc3RpbmZvL2RtLWRldmVs