Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1220953
| From | "Juvva, Kanaka D" <kanaka.d.juvva@intel.com> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | RE: [PATCH v3 1/2] perf,x86: add Intel Memory Bandwidth Monitoring (MBM) PMU |
| Date | 2015-09-08 18:20 +0200 |
| Message-ID | <q6tMJ-Vo-5@gated-at.bofh.it> (permalink) |
| References | <pV677-7N8-5@gated-at.bofh.it> <pZiCJ-hP-7@gated-at.bofh.it> <q6pzs-39Q-11@gated-at.bofh.it> <q6pzs-39Q-9@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
SGkgTWF0dCwNCg0KICBUaGlzIGlzIHJlZ2FyZGluZyBFdmVudCBJRHMgIGZvciBwZXJmIGV2ZW50 Og0KDQpUaGVyZSBhcmUgdHdvIGFzcGVjdHM6DQoNCiAxKSBQcm9ncmFtbWluZyBNU1JzDQogMikg RVZFTlRfQVRUUl9TVFIobGxjX2xvY2FsX2J3LCBpbnRlbF9jcW1fbGxjX2xvY2FsX2J3LCAiZXZl bnQ9MHgwNCIpOw0KDQogMSBpcyB1c2VkIGZvciBwcm9ncmFtbWluZyBNU1JzDQogMiBldmVudCBh dHRyaWJ1dGUgZm9yIHBlcmYNCiAgDQoNCiBGb3IgTUJNX0xPQ0FMX0VWRU5UIEhXIElEIGlzIDB4 My4gV2UgZG9uJ3Qgd2FudCB0byB1c2UgMHgzIGZvciBFVkVOVCBBVFRSLiANCg0KSWYgd2UgdXNl IDB4MyBmb3IgZXZlbnRfYXR0cmlidXRlDQoNCldlIGNhbid0IGNsZWFybHkgZGlzdGluZ3Vpc2gg d2hldGhlciBpcyBFVkVOVCAwMSAmIEVWRU5UIDAyIG9yIEVWRU5UIDAzIGFsb25lLg0KIEZvciBw ZXJmIGV2ZW50IGF0dHJpYnV0ZSAgaXQgaGFzIHRvIGJlIDB4MDQuIEJlY2F1c2UgMHgwMSBhbmQg MHgwMiBhcmUgdXNlZCBmb3Igb3RoZXIgdG93DQoNCiBUaGFua3MsDQotS2FuYWthDQoNCj4gLS0t LS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogRmxlbWluZywgTWF0dA0KPiBTZW50OiBU dWVzZGF5LCBTZXB0ZW1iZXIgOCwgMjAxNSA0OjQ3IEFNDQo+IFRvOiBKdXZ2YSwgS2FuYWthIEQN Cj4gQ2M6IFRob21hcyBHbGVpeG5lcjsgS2FuYWthIEp1dnZhOyBXaWxsaWFtc29uLCBHbGVubiBQ OyBBdWxkLCBXaWxsOyBBbmRpIEtsZWVuOw0KPiBMS01MOyBMdWNrLCBUb255OyBQZXRlciBaaWps c3RyYTsgVGVqdW4gSGVvOyB4ODZAa2VybmVsLm9yZzsgSW5nbyBNb2xuYXI7IEguDQo+IFBldGVy IEFudmluOyBTaGl2YXBwYSwgVmlrYXMNCj4gU3ViamVjdDogUmU6IFtQQVRDSCB2MyAxLzJdIHBl cmYseDg2OiBhZGQgSW50ZWwgTWVtb3J5IEJhbmR3aWR0aCBNb25pdG9yaW5nDQo+IChNQk0pIFBN VQ0KPiANCj4gT24gTW9uLCAyMDE1LTA5LTA3IGF0IDIwOjIyICswMTAwLCBKdXZ2YSwgS2FuYWth IEQgd3JvdGU6DQo+ID4gSGkgVGhvbWFzLA0KPiA+DQo+ID4gICAgSSdtIHNlbmRpbmcgdXBkYXRl ZCBwYXRjaChzKS4gSSBoYXZlIGdpdmVuIGRldGFpbHMgZm9yIGVhY2ggb2YNCj4gPiB0aGVzZSBp dGVtcyBiZWxvdy4NCj4gPg0KPiANCj4gS2FuYWthLCB0aGlzIGVtYWlsIGlzIEhUTUwgZm9ybWF0 dGVkIGFuZCBzbyBoYXMgYmVlbiBibG9ja2VkIGJ5DQo+IHZnZXIua2VybmVsLm9yZyB3aGVyZSB0 aGUgbGludXgta2VybmVsIG1haWxpbmcgbGlzdCBpcyBob3N0ZWQuDQo+IA0KPiBQbGVhc2UgY29u ZmlndXJlIG91dGxvb2sgbm90IHRvIHNlbmQgaHRtbCBlbWFpbCwgb3IgdXNlIGEgZGlmZmVyZW50 IG1haWwgYWdlbnQNCj4gZm9yIHdvcmtpbmcgd2l0aCB1cHN0cmVhbS4NCj4gDQo+ID4gUmVnYXJk cywNCj4gPiAtS2FuYWthDQo+ID4NCj4gPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ ID4gPiBGcm9tOiBUaG9tYXMgR2xlaXhuZXIgW21haWx0bzp0Z2x4QGxpbnV0cm9uaXguZGVdDQo+ ID4gPiBTZW50OiBXZWRuZXNkYXksIEF1Z3VzdCAxOSwgMjAxNSAxOjUwIFBNDQo+ID4gPiBUbzog S2FuYWthIEp1dnZhDQo+ID4gPiBDYzogSnV2dmEsIEthbmFrYSBEOyBXaWxsaWFtc29uLCBHbGVu biBQOyBGbGVtaW5nLCBNYXR0OyBBdWxkLCBXaWxsOw0KPiA+IEFuZGkgS2xlZW47DQo+ID4gPiBM S01MOyBMdWNrLCBUb255OyBQZXRlciBaaWpsc3RyYTsgVGVqdW4gSGVvOyB4ODZAa2VybmVsLm9y ZzsgSW5nbw0KPiA+IE1vbG5hcjsgSC4NCj4gPiA+IFBldGVyIEFudmluOyBTaGl2YXBwYSwgVmlr YXMNCj4gPiA+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggdjMgMS8yXSBwZXJmLHg4NjogYWRkIEludGVs IE1lbW9yeSBCYW5kd2lkdGgNCj4gPiBNb25pdG9yaW5nDQo+ID4gPiAoTUJNKSBQTVUNCj4gPiA+ DQo+ID4gPiBPbiBGcmksIDcgQXVnIDIwMTUsIEthbmFrYSBKdXZ2YSB3cm90ZToNCj4gPiA+ID4g KyNkZWZpbmUgTUJNX0NOVFJfTUFYICAgICAgICAgICAgICAgMHhmZmZmZmYNCj4gPiA+ID4gKyNk ZWZpbmUgTUJNX1NPQ0tFVF9NQVggICAgICAgICAgICAgOA0KPiA+ID4gPiArI2RlZmluZSBNQk1f VElNRV9ERUxUQV9NQVggMTAwMA0KPiA+ID4gPiArI2RlZmluZSBNQk1fVElNRV9ERUxUQV9NSU4g MTAwDQo+ID4gPg0KPiA+ID4gV2hhdCBhcmUgdGhlc2UgY29uc3RhbnRzIGZvciBhbmQgaG93IGFy ZSB0aGV5IGRldGVybWluZWQ/IFB1bGxlZCBvdXQNCj4gPiA+IG9mIHRoaW4gYWlyPw0KPiA+ID4N Cj4gPg0KPiA+IC8qDQo+ID4gKiBNQk0gQ291bnRlciBpcyAyNGJpdHMgd2lkZS4gTUJNX0NOVFJf TUFYIGRlZmluZXMgbWF4IGNvdW50ZXINCj4gPiAqIHZhbHVlDQo+ID4gKi8NCj4gPiAjZGVmaW5l IE1CTV9DTlRSX01BWCAgICAgICAgICAgIDB4ZmZmZmZmDQo+ID4gLyoNCj4gPiAqIE1heCAjc29j a2V0cyBzdXBwb3J0ZWQNCj4gPiAqLw0KPiA+ICNkZWZpbmUgTUJNX1NPQ0tFVF9NQVggICAgICAg ICAgOA0KPiANCj4gVGhpcyBzZWVtcyBsaWtlIGEgY29uc3RhbnQgd2UgY291bGQgZ2V0IGJ5IHdp dGhvdXQuIERvIHdlIHJlYWxseSBuZWVkIHRvIGtub3cNCj4gdGhpcyBhdCBjb21waWxlIHRpbWU/ DQo+IA0KPiA+IC8qDQo+ID4gKiBFeHBlY3RlZCB0aW1lIGludGVydmFsIGJldHdlZW4gY29uc2Vj dXRpdmUgTVNSIHJlYWRzIGZvciBhIGdpdmVuIHJtaWQNCj4gPiAqLw0KPiA+ICNkZWZpbmUgTUJN X1RJTUVfREVMVEFfTUFYICAgICAgMTAwMA0KPiANCj4gIm1heCIgYW5kICJleHBlY3RlZCIgYXJl IG5vdCB0aGUgc2FtZSB0aGluZy4NCj4gDQo+IA0KPiA+ID4gPiAgI2RlZmluZSBRT1NfTDNfT0ND VVBfRVZFTlRfSUQgICAgICAoMSA8PCAwKQ0KPiA+ID4gPiArI2RlZmluZSBRT1NfTUJNX1RPVEFM X0VWRU5UX0lEICAgICAoMSA8PCAxKQ0KPiA+ID4gPiArI2RlZmluZSBRT1NfTUJNX0xPQ0FMX0VW RU5UX0lEX0hXICAgMHgzDQo+ID4gPiA+ICsjZGVmaW5lIFFPU19NQk1fTE9DQUxfRVZFTlRfSUQg ICAgICgxIDw8IDIpDQo+ID4gPg0KPiA+ID4gU28gd2UgaGF2ZSBJRCB2YWx1ZXMgd2hpY2ggYXJl IGJ1aWx0IHdpdGggKDEgPDwgWCkgYW5kIHRoZW4gdGhpcyBIVw0KPiA+ID4gdmFyaWFudCBpbiB0 aGUgbWlkZGxlIHdpdGggMHgzLiBPZiBjb3Vyc2Ugd2l0aG91dCBhbnkgZXhwbGFuYXRpb24gd2hh dCB0aGUNCj4gaGVjayB0aGlzIHN0dWZmIGlzLg0KPiA+ID4NCj4gPiA+IExhc3QgcmV2aWV3Og0K PiA+ID4NCj4gPiA+ICAgICAgIlNvIHRoaXMgd2FudHMgYSBkZXNjcmlwdGl2ZSBJRCBuYW1lIGFu ZCBhIGNvbW1lbnQuIg0KPiA+ID4NCj4gPiA+DQo+ID4NCj4gPiAvKg0KPiA+ICogTUJNIEV2ZW50 IElEcyBhcyBkZWZpbmVkIGluIFNETSBzZWN0aW9uIDE3LjE0LjYNCj4gPiAqIEV2ZW50IElEcyB1 c2VkIHRvIHByb2dyYW0gTVNScyBmb3IgcmVhZGluZyBjb3VudGVycw0KPiA+ICovDQo+ID4gI2Rl ZmluZSBRT1NfTUJNX1RPVEFMX0VWRU5UX0lEICAoMSA8PCAxKQ0KPiA+ICNkZWZpbmUgUU9TX01C TV9MT0NBTF9FVkVOVF9JRF9IVyAgICAgICAgMHgzDQo+ID4gLyoNCj4gPiAqIFBlcmYgbmVlZHMg ZXZlbnQgaWQgdG8gYmUgMSA8PCB4LCBoZW5jZSB3ZSBjYW4ndCB1c2UgMHgzIChIVyBFVkVOVCBJ RCkNCj4gPiAqIGZvciBNQk1fTE9DQUxfRVZFTlQgd2UgdXNlIG5leHQgMSA8PCB4IGZvciBNQk1f TE9DQUxfRVZFTlRfSUQNCj4gPiAqLw0KPiA+ICNkZWZpbmUgUU9TX01CTV9MT0NBTF9FVkVOVF9J RCAgKDEgPDwgMikNCj4gDQo+IE5vLCBwZXJmIGV2ZW50cyBkbyBub3QgbmVlZCB0byBiZSBvZiB0 aGUgZm9ybSAoMSA8PCBYKSwgdGhhdCB3YXMganVzdCBhDQo+IGNvbnZlbnRpb24gd2UgdXNlZCBp biB0aGUgY3FtIGNvZGUgYmVmb3JlIHdlIGtuZXcgd2hhdCB2YWx1ZXMgdGhlIE1CTQ0KPiBldmVu dHMgd291bGQgdGFrZSAtIHlvdSBjYW4gY2hhbmdlIHRoZXNlIHRvIGJlIHdoYXRldmVyIGZvcm1h dCB5b3Ugd2FudCwgYnV0DQo+IGJlIHN1cmUgdG8gbWFrZSBpdCBjb25zaXN0ZW50Lg0KPiANCj4g VGhlIGNvbnN0YW50cyBhcmUgdmVyeSBtdWNoIHN1cHBvc2VkIHRvIGJlIHByb2dyYW1tZWQgaW50 byB0aGUgTVNScywgdGFrZSBhDQo+IGxvb2sgYXQgX19ybWlkX3JlYWQoKS4NCj4gDQo+IEkgd291 bGQgc3VnZ2VzdCAoYXMgSSBhbHJlYWR5IGRpZCBwcml2YXRlbHkpIHRoYXQgeW91IGNoYW5nZSB0 aGUgZm9ybWF0IHRvIGJlDQo+IDB4MHggZm9yIGFsbCBvZiB0aGVzZSBldmVudCBJRHMuDQo+IA0K PiANCj4gPiA+ID4gQEAgc3RhdGljIGJvb2wgaW50ZWxfY3FtX3NjaGVkX2luX2V2ZW50KHUzMiBy bWlkKQ0KPiA+ID4gPiAgICAgIHJldHVybiBmYWxzZTsNCj4gPiA+ID4gIH0NCj4gPiA+ID4NCj4g PiA+ID4gKw0KPiA+ID4gPiArc3RhdGljIHUzMiBid19zdW1fY2FsYyhzdHJ1Y3Qgc2FtcGxlICpi d19zdGF0LCBpbnQgcm1pZCkgew0KPiA+ID4gPiArICAgdTMyIHZhbCA9IDAsIGksIGosIGluZGV4 Ow0KPiA+ID4gPiArDQo+ID4gPiA+ICsgICBpZiAoKytid19zdGF0LT5maWZvb3V0ID49ICBtYm1f d2luZG93X3NpemUpDQo+ID4gPiA+ICsgICAgICAgICAgIGJ3X3N0YXQtPmZpZm9vdXQgPSAgMDsN Cj4gPiA+ID4gKyAgIGluZGV4ID0gIGJ3X3N0YXQtPmZpZm9vdXQ7DQo+ID4gPiA+ICsgICBmb3Ig KGkgPSAwOyBpIDwgbWJtX3dpbmRvd19zaXplIC0gMTsgaSsrKSB7DQo+ID4gPiA+ICsgICAgICAg ICAgIGlmIChpbmRleCArIGkgPj0gbWJtX3dpbmRvd19zaXplKQ0KPiA+ID4gPiArICAgICAgICAg ICAgICAgICAgIGogPSBpbmRleCArIGkgLSBtYm1fd2luZG93X3NpemU7DQo+ID4gPiA+ICsgICAg ICAgICAgIGVsc2UNCj4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICBqID0gaW5kZXggKyBpOw0K PiA+ID4gPiArICAgICAgICAgICB2YWwgKz0gYndfc3RhdC0+bWJtZmlmb1tqXTsNCj4gPiA+ID4g KyAgIH0NCj4gPiA+DQo+ID4gPiBUaGlzIG1hdGggd2FudHMgYSBleHBsYW5hdG9yeSBjb21tZW50 Lg0KPiA+ID4NCj4gPiAvKg0KPiA+ICogU2xpZGUgdGhlIHdpbmRvdyBieSAxIGFuZCBjYWxjdWxh dGUgdGhlIHN1bSBvZiB0aGUgbGFzdA0KPiA+ICogbWJtX3dpbmRvd19zaXplLTEgIGJhbmR3aWR0 aCAgdmFsdWVzLg0KPiA+ICogZmlmb291dCBpcyB0aGUgY3VycmVudCBwb3NpdGlvbiBvZiB0aGUg d2luZG93Lg0KPiA+ICogSW5jcmVtZW50IHRoZSBmaWZvb3V0IGJ5IDEgdG8gc2xpZGUgdGhlIHdp bmRvdyBieSAxLg0KPiA+ICoNCj4gPiAqIENhbGNhbHV0ZSB0aGUgYmFuZHdpZHRoIGZyb20gKytm aWZpb3V0ICB0byAoICsrZmlmb291dCArIG1ibV93aW5kb3dfc2l6ZSAtDQo+IDEpDQo+ID4gKiBl LmcuZmlmb291dCA9MTsgICBCYW5kd2lkdGgxIEJhbmR3aWR0aDIgLi4uLi4gQmFuZHdpZHRobiBh cmUgdGhlDQo+ID4gKiBzbGlkaW5nIHdpbmRvdyB2YWx1ZXMgd2hlcmUgbiBpcyBzaXplIG9mIHRo ZSBzbGlkaW5nIHdpbmRvdw0KPiA+ICogIGJhbmR3aWR0aCBzdW06ICB2YWwgID0gIEJhbmR3aWR0 aDIgKyBCYW5kd2lkdGgzICsgLi4gQmFuZHdpZHRobg0KPiA+ICovDQo+IA0KPiBJbnN0ZWFkIG9m IHRoZXNlIGxhcmdlIGNvbW1lbnQgYmxvY2tzIHBsZWFzZSBjb21tZW50IHNtYWxsZXIsIGxvZ2lj YWxseS0NCj4gY29ubmVjdGVkIGNodW5rcyBvZiBjb2RlLCBlLmcuDQo+IA0KPiAJLyogU2xpZGUg dGhlIHdpbmRvdyBieSBvbmUgKi8NCj4gCWlmICgrK2J3X3N0YXQtPmZpZm9vdXQgPj0gbWJtX3dp bmRvd19zaXplKQ0KPiAJCWJ3X3N0YXQtPmZpZm9vdXQgPSAwOw0KPiANCj4gCS8qDQo+IAkgKiBD YWxjdWxhdGUgdGhlIHN1bSBvZiBsYXN0IG1ibV93aW5kb3dfc2l6ZS0xIHZhbHVlcy4NCj4gCSAq Lw0KPiAJZm9yIChpID0gMDsgaSA8IG1ibV93aW5kb3dfc2l6ZSAtIDE7IGkrKykgew0KPiAJCS8q IEhhbmRsZSB3cmFwYXJvdW5kIGF0IGVuZCBvZiB3aW5kb3cgKi8NCj4gCQlpZiAoaW5kZXggKyBp ID49IG1ibV93aW5kb3dfc2l6ZSkNCj4gCQkJaiA9IGluZGV4ICsgaSAtIG1ibV93aW5kb3dfc2l6 ZTsNCj4gCQllbHNlDQo+IAkJCWogPSBpbmRleCArIGk7DQo+IA0KPiAJCXZhbCArPSBid19zdGF0 LT5tYm1pbmZvW2pdOw0KPiAJfQ0KPiANCj4gPg0KPiA+DQo+ID4gPiA+ICsgICByZXR1cm4gdmFs Ow0KPiA+ID4gPiArfQ0KPiA+ID4gPiArDQo+ID4gPiA+ICtzdGF0aWMgdTMyIF9fbWJtX2ZpZm9f c3VtX2xhc3RuX291dChpbnQgcm1pZCwgYm9vbCBpc19sb2NhbGJ3KSB7DQo+ID4gPiA+ICsgICBp ZiAoaXNfbG9jYWxidykNCj4gPiA+ID4gKyAgICAgICAgICAgcmV0dXJuIGJ3X3N1bV9jYWxjKCZt Ym1fbG9jYWxbcm1pZF0sIHJtaWQpOw0KPiA+ID4gPiArICAgZWxzZQ0KPiA+ID4gPiArICAgICAg ICAgICByZXR1cm4gYndfc3VtX2NhbGMoJm1ibV90b3RhbFtybWlkXSwgcm1pZCk7IH0NCj4gPiA+ ID4gKw0KPiA+ID4gPiArc3RhdGljIHZvaWQgX19tYm1fZmlmb19pbihzdHJ1Y3Qgc2FtcGxlICpi d19zdGF0LCB1MzIgdmFsKSB7DQo+ID4gPiA+ICsgICBid19zdGF0LT5tYm1maWZvW2J3X3N0YXQt PmZpZm9pbl0gPSB2YWw7DQo+ID4gPiA+ICsgICBpZiAoKytid19zdGF0LT5maWZvaW4gPj0gbWJt X3dpbmRvd19zaXplKQ0KPiA+ID4NCj4gPiA+IEhvdyBkb2VzIHRoYXQgYmVjb21lIGdyZWF0ZXIg dGhhbiBtYm1fd2luZG93c2l6ZT8NCj4gPiA+DQo+ID4NCj4gPiBUaGlzIGlzIGZpeGVkIGJ5IGNo YW5naW5nID49IHRvID09DQo+ID4gQWRkZWQgYSBjb21tZW50Og0KPiA+DQo+ID4gLyoNCj4gPiAq IHN0b3JlIGN1cnJlbnQgc2FtcGxlJ3MgYncgdmFsdWUgaW4gc2xpZGluZyB3aW5kb3cgYXQgdGhl DQo+ID4gKiBpbmRleCBmaWZvaW4uIEluY3JlbWVudCBmaWZvaW4uIENoZWNrIGlmIGZpZm9pbiBo YXMgcmVhY2hlZA0KPiA+ICogbWF4X3dpbmRvd19zaXplLiBJZiB5ZXMgcmVzZXQgaXQgdG8gYmVn aW5pbmcgaS5lLiB6ZXJvDQo+ID4gKiBlLmcuDQo+ID4gKiBtYm1fd2luZG93X3NpemUgPSAxMA0K PiA+ICogbWJtZmlmbyBpcyBhIGNpcmN1bGFyIGZpZm8gICAwIDEgMiAzIDQgNSA2IDcgOCA5IDEw DQo+ID4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfA0KPiA+ICogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfA0K PiA+ICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IF8g XyBfIF8gXyBfIF8gXyBfIF98DQo+ID4gKg0KPiA+ICogU28gd2hlbiBmaWZvaW4gYmVjb21lcyAx MCwgdGhlbiBpdCBpcyByZXNldCB0byB6ZXJvDQo+ID4gKg0KPiA+ICovDQo+IA0KPiBJJ20gbm90 IHN1cmUgdGhhdCB0aGlzIGNvbW1lbnQgYWRkcyBhbnl0aGluZyBvZiB2YWx1ZSB0aGF0IGlzbid0 IGFscmVhZHkNCj4gdW5kZXJzdG9vZCBieSByZWFkaW5nIHRoZSBjb2RlLiBJIGRvbid0IHRoaW5r IHlvdSBuZWVkIGEgY29tbWVudCBmb3IgdGhpcw0KPiBmdW5jdGlvbiwgaXQgc2VlbXMgcHJldHR5 IHN0cmFpZ2h0IGZvcndhcmQgYW5kIFRob21hcycgcXVlc3Rpb24gd2FzIGFib3V0IHRoZQ0KPiBi b3VuZGFyeSBsaW1pdHMgb2YgLT5maWZvaW4uDQo+IA0KPiA+ID4gPiArICAgICAgICAgICBid19z dGF0LT5maWZvaW4gPSAwOw0KPiA+ID4gPiArfQ0KPiA+ID4NCj4gPiA+ID4gKy8qDQo+ID4gPiA+ ICsgKiBfX3JtaWRfcmVhZF9tYm0gY2hlY2tzIHdoZXRoZXIgaXQgaXMgTE9DQUwgb3IgR0xPQkFM IE1CTSBldmVudA0KPiA+ID4gPiArYW5kIHJlYWRzDQo+ID4gPiA+ICsgKiBpdHMgTVNSIGNvdW50 ZXIuIENoZWNrIHdoZXRoZXIgb3ZlcmZsb3cgb2NjdXJyZWQgYW5kIGhhbmRsZXMgaXQuDQo+ID4g PiA+ICtDYWxjdWxhdGVzDQo+ID4gPiA+ICsgKiBjdXJyZW5ldCAgQlcgYW5kIHVwZGF0ZXMgIHJ1 bm5pbmcgYXZlcmFnZS4NCj4gPiA+DQo+ID4gPiBjdXJyZW5ldD8gQW5kIHBsZWFzZSBnZXQgcmlk IG9mIHRoZSBkb3VibGUgc3BhY2VzDQo+ID4gPg0KPiA+IFRoaXMgaXMgZml4ZWQgbm93LiAgSGVy ZSBpcyB0aGUgdXBkYXRlZCBjb21tZW50Og0KPiA+DQo+ID4gLyoNCj4gPiAqIHJtaWRfcmVhZF9t Ym0gY2hlY2tzIHdoZXRoZXIgaXQgaXMgTE9DQUwgb3IgVG90YWwgTUJNIGV2ZW50IGFuZCByZWFk cw0KPiA+ICogaXRzIE1TUiBjb3VudGVyLiBDaGVjayB3aGV0aGVyIG92ZXJmbG93IG9jY3VyZWQg YW5kIGhhbmRsZXMgaXQuIENhbGN1bGF0ZXMNCj4gPiAqIGN1cnJlbmV0ICBCVyBhbmQgdXBkYXRl cyAgcnVubmluZyBhdmVyYWdlLg0KPiA+ICoNCj4gDQo+IF5eXiBZb3UndmUgc3RpbGwgbWlzc3Bl bGxlZCBjdXJyZW50Lg0KPiA+DQo+ID4gKiBPdmVyZmxvdyBIYW5kbGluZzoNCj4gPiAqIGlmIChN U1IgY3VycmVudCB2YWx1ZSA8IE1TUiBwcmV2aW91cyB2YWx1ZSkgaXQgaXMgYW4NCj4gPiAqIG92 ZXJmbG93LiBNU1IgdmFsdWVzIGFyZSBpbmNyZWFzaW5nIHdoZW4gYmFuZHdpZHRoIGNvbnN1bXB0 aW9uIGZvciB0aGUNCj4gdGhyZWFkDQo+ID4gKiBpcyBub24temVybzsgV2hlbiBNU1IgdmFsdWVz IHJlYWNoZXMgTUFYX0NPVU5URVJfVkFMVUUgaXQgb3ZlcmZsb3dzLg0KPiBBZnRlciBvdmVyZmxv dywNCj4gPiAqIE1TUiBjdXJyZW50IHZhbHVlIGdvZXMgYmFjayB0byB6ZXJvIGFuZCBzdGFydHMg aW5jcmVhc2luZyBhZ2FpbiBhdCB0aGUgcmF0ZQ0KPiBvZg0KPiA+ICogYmFuZHdpZHRoLg0KPiA+ ICoNCj4gDQo+IFlvdSBkb24ndCBuZWVkIHRvIHByb3ZpZGUgYSBkZWZpbml0aW9uIG9mICJvdmVy ZmxvdyIsIG1vc3QgcGVvcGxlIHdpbGwgYmUNCj4gZmFtaWxpYXIgd2l0aCBpdC4gV2hhdCBpcyBt b3JlIGltcG9ydGFudCB0byBkb2N1bWVudCBpcyBob3cgdGhlIG92ZXJmbG93IGlzDQo+IGhhbmRs ZWQuLi4NCj4gPg0KPiA+ICogT3ZlcmZsb3cgaGFuZGxpbmc6DQo+ID4gKiBEZXRlY3QgYW4gb3Zl cmZsb3cgOiAgY3VycmVudCByZWFkIHZhbHVlID4gbGFzdCByZWFkIHZhbHVlDQo+IA0KPiBJc24n dCB0aGlzIGludmVydGVkPyBPdmVyZmxvdyBvY2N1cnJlZCBpZiBjdXJyZW50IDwgcHJldmlvdXMu DQo+IA0KPiA+DQo+ID4gKiBPdmVyZmxvdyBjb3JyZWN0aW9uOiAgaWYgKG92ZXJmbG93KQ0KPiA+ ICogICAgICAgICAgICAgICAgICAgICAgICAgIEN1cnJlbnQgdmFsdWUgPSAoTUFYX0NPVU5URVJf VkFMVUUgLSBwcmV2IHJlYWQgdmFsdWUpICsNCj4gY3VycmVudCByZWFkIHZhbHVlDQo+ID4gKiAg ICAgICAgICAgICAgICAgICAgICAgZWxzZQ0KPiA+ICogICAgICAgICAgICAgICAgICAgICAgICAg IEN1cnJlbnQgdmFsdWUgPSBjdXJyZW50IHJlYWQgdmFsdWUNCj4gPiAqDQo+IA0KPiBQbGVhc2Ug ZG9uJ3Qgd3JpdGUgcHNldWRvY29kZSBpbiB0aGUgY29tbWVudHMuIFVzZSBFbmdsaXNoIHByb3Nl IHRvIGRlc2NyaWJlDQo+IHRoZSBpbXBvcnRhbnQgcGFydHMgb2YgdGhlIGNvZGUuDQo+IA0KPiA+ DQo+ID4gKiBDYWxjdWxhdGlvbiBvZiBDdXJyZW50IEJhbmR3aWR0aCB2YWx1ZToNCj4gPiAqIElm IE1TUiBpcyByZWFkIHdpdGhpbiBsYXN0IDEwMG1zLCB0aGVuIHRoZW4gdGhlIHNtYXBsZSBpcyBp Z25vcmVkOw0KPiA+ICogSWYgdGhlIE1TUiB3YXMgUmVhZCB3aXRoIGluIGxhc3QgMTAwbXMsIHdo eSAgaW5jdXIgYW4gZXh0cmEgb3ZlcmhlYWQNCj4gPiAqIG9mIGRvaW5nIHRoZSBNU1IgcmVhZHMg YWdhaW4uIEFueXdheSB0aGVyZSdsbCBiZSBhIG5lZ2xpZ2libGUgY2hhbmdlIG9yIHplcm8NCj4g PiAqIGNoYW5nZSBpbiBNU1IgcmVhZGluZ3MgaW4gMTAwbXMuDQo+ID4gKg0KPiA+ICogQmFuZHdp ZHRoIGlzIGNhbGN1bGF0ZWQgYXM6DQo+ID4gKiBtZW1vcnkgYmFuZHdpZHRoID0gZGlmZmVyZW5j ZSBvZiBsYXN0IHR3byBtc3IgY291bnRlciB2YWx1ZXMvdGltZQ0KPiBkaWZmZXJlbmNlLg0KPiA+ ICoNCj4gPiAqIGN1bV9hdmcgPSBSdW5uaW5nIEF2ZXJhZ2UgYmFuZHdpZHRoIG9mIGxhc3QgJ24n IGJhbmR3aWR0aCB2YWx1ZXMgZm9yDQo+ID4gKiB0aGUgc2FtcGxlcyB0aGF0IGFyZSBwcm9jZXNz ZWQNCj4gPiAqDQo+IA0KPiBXaGVyZSAnbicgaXMgJ21ibV93aW5kb3dfc2l6ZScgPyBJZiBzbywg cGxlYXNlIHVzZSAnbWJtX3dpbmRvd19zaXplJywgbm90ICduJy4NCj4gPg0KPiA+ICogU2xpZGlu ZyB3aW5kb3cgaXMgdXNlZCB0byBzYXZlIHRoZSBsYXN0ICduJyBzYW1wbGVzLiBXaGVyZSwNCj4g PiAqIG4gPSBzbGlkaW5nX3dpbmRvd19zaXplIGFuZCByZXN1bHRzIGluIHNsaWRpbmcgd2luZG93 IGR1cmF0aW9uIG9mICduJyBzZWNzLg0KPiANCj4gSG1tLi4uIHRoaXMgY29uZnVzZXMgbWUgYSBs b3QuIElzICduJyBhIHNpemUgb3IgYSBkdXJhdGlvbj8gVGhlIHR3byBhcmUgbm90IHRoZQ0KPiBz YW1lIHRoaW5nLg0KPiANCj4gPg0KPiA+ICogVGhlIHNsaWRpbmcgd2luZG93IHNpemUgYnkgZGVm YXVsdCBzZXQgdG8NCj4gPiAqIE1CTV9GSUZPX1NJWkVfTUlOLiBVc2VyIGNhbiBjb25maWd1cmUg aXQgdG8gdGhlIHZhbHVlcyBpbiB0aGUgcmFuZ2UNCj4gPiAqIChNQk1fRklGT19TSVpFX01JTixN Qk1fRklGT19TSVpFX01BWCkuIFRoZSByYW5nZSBmb3Igc2xpZGluZyB3aW5kb3cNCj4gPiAqIGlz IGNob3NlbiBiYXNlZCBvbiBhIGdlbmVyYWwgY3JpdGVyaWEgZm9yIG1vbml0b3JpbmcgZHVyYXRp b24uIEV4YW1wbGUNCj4gPiAqIGZvciBhIHNob3J0IGxpdmVkIGFwcGxpY2F0aW9uLCAxMHNlYyBt b25pdG9yaW5nIHBlcmlvZCBnaXZlcw0KPiA+ICogZ29vZCBjaGFyYWN0ZXJpemF0aW9uIG9mIGl0 cyBiYW5kd2lkdGggY29uc3VtcHRpb24uIEZvciBhbiBhcHBsaWNhdGlvbg0KPiA+ICogdGhhdCBy dW5zIGZvciBsb25nZXIgZHVyYXRpb24sIDMwMHNlYyBtb25pdG9yaW5nIHBlcmlvZCBnaXZlcyBi ZXR0ZXINCj4gPiAqIGNoYXJhY3Rlcml6YXRpb24gb2YgaXRzIGJhbmR3aWR0aCBjb25zdW1wdGlv bi4gU2luY2UgdGhlIHJ1bm5pbmcgYXZlcmFnZQ0KPiA+ICogY2FsY3VsYXRlZCBmb3IgdG90YWwg bW9uaXRvcmluZyBwZXJpb2QsIHVzZXIgZ2V0cyB0aGUgbW9zdCBhY2N1cmFjYXRlDQo+ID4gKiBh dmVyYWdlIGJhbmR3aWR0aCBmb3IgdGhlIGVhY2ggbW9uaXRvcmluZyBwZXJpb2QuDQo+ID4gKg0K PiA+ICogU2NhbGluZzoNCj4gPiAqIGN1bV9hdmcgaXMgdGhlIHJhdyBiYW5kd2lkdGggaXMgQnl0 ZXMvc2VjLg0KPiA+ICogY3VtX2F2ZyBpcyBjb252ZXJ0ZWQgdG8gTUIvc2VjIGJ5IGFwcGx5aW5n ICBNQk1fQ09OVkVSU0lPTl9GQUNUT1INCj4gYW5kDQo+ID4gKiByb3VuZGVkIHRvIG5lYXJlc3Qg aW50ZWdlci4gVXNlciBpbnRlcmZhY2UgZ2V0cyB0aGUgQmFuZHdpZHRoIHZhbHVlcyBpbg0KPiBN Qi9zZWMuDQo+ID4gKg0KPiA+ICovDQo+ID4gPiA+ICsgKg0KPiA+ID4gPiArICogT3ZlcmZsb3cg SGFuZGxpbmc6DQo+ID4gPiA+ICsgKiBpZiAoTVNSIGN1cnJlbnQgdmFsdWUgPCBNU1IgcHJldmlv dXMgdmFsdWUpIGl0IGlzIGFuDQo+ID4gPiA+ICsgKiBvdmVyZmxvdy4gYW5kIG92ZXJmbG93IGlz IGhhbmRsZWQuDQo+ID4gPg0KPiA+ID4gV293LiBUaGF0J3MgaW5mb3JtYXRpdmUgYXMgaGVsbCEN Cj4gPiA+DQo+ID4gUGxlYXNlIGxvb2sgYXQgdGhlIG1vZGlmaWVkIGNvbW1lbnQgYWJvdmUNCj4g PiA+ID4gKyAqDQo+ID4gPiA+ICsgKiBDYWxjdWxhdGlvbiBvZiBDdXJyZW50IEJXIHZhbHVlOg0K PiA+ID4NCj4gPiA+IEJXID09IEJvZHkgV2VpZ2h0Pw0KPiA+ID4NCj4gPg0KPiA+IEl0IGlzIGZp eGVkIG5vdw0KPiA+DQo+ID4gPiA+ICsgKiBJZiBNU1IgaXMgcmVhZCB3aXRoaW4gbGFzdCAxMDBt cywgdGhlbiB0aGUgdmFsdWUgaXMgaWdub3JlZDsNCj4gPiA+ID4gKyAqIHRoaXMgd2lsbCBzdXBw cmVzcyBzbWFsbCBkZWx0YXMuIFdlIGRvbid0IHByb2Nlc3MgTUJNIHNhbXBsZXMNCj4gPiA+ID4g KyB0aGF0IGFyZQ0KPiA+ID4gPiArICogd2l0aGluIDEwMG1zLg0KPiA+ID4NCj4gPiA+IFdIWT8N Cj4gPiA+DQo+ID4gRXhwbGFpbmVkIGluIHRoZSBjb21tZW50LiBJZiBtYm1fcmVhZCBpcyBjYWxs ZWQgd2l0aGluIGluIDEwMG1zIGZvcg0KPiA+IHRoZSBzYW1lIHJtaWQsIHdlIGRvbuKAmXQgaGF2 ZSB0byBwcm9jZXNzIHRoZSBzYW1wbGUuDQo+IA0KPiBUaGUga2V5IHBpZWNlIG9mIGluZm9ybWF0 aW9uIHlvdSdyZSBtaXNzaW5nIGhlcmUgaXMgdGhhdCBza2lwcGluZyB0aGVzZSBzbWFsbA0KPiBk ZWx0YXMgaXMgYW4gb3B0aW1pemF0aW9uLCBiZWNhdXNlIHdlIGF2b2lkIHBlcmZvcm1pbmcgY29z dGx5IG9wZXJhdGlvbnMgZm9yDQo+IHdoYXQgd291bGQgbGlrZWx5IGJlIGEgdmVyeSBtaW5vciBj aGFuZ2UgaW4gdGhlIE1CTSBkYXRhLCByaWdodD8NCj4gDQo+IA0KPiA+ID4gPiArew0KPiA+ID4g PiArICAgdTY0IHZhbCwgdG1wLCBkaWZmX3RpbWUsIGNtYSwgYnl0ZXMsIGluZGV4Ow0KPiA+ID4g PiArICAgYm9vbCBvdmVyZmxvdyA9IGZhbHNlLCBmaXJzdCA9IGZhbHNlOw0KPiA+ID4gPiArICAg a3RpbWVfdCBjdXJfdGltZTsNCj4gPiA+ID4gKyAgIHUzMiB0bXAzMiA9IHJtaWQ7DQo+ID4gPiA+ ICsgICBzdHJ1Y3Qgc2FtcGxlICptYm1fY3VycmVudDsNCj4gPiA+ID4gKyAgIHUzMiB2cm1pZCA9 IHRvcG9sb2d5X3BoeXNpY2FsX3BhY2thZ2VfaWQoc21wX3Byb2Nlc3Nvcl9pZCgpKSAqDQo+ID4g PiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNxbV9tYXhf cm1pZCArIHJtaWQ7DQo+ID4gPiA+ICsNCj4gPiA+ID4gKyAgIHJtaWQgPSB2cm1pZDsNCj4gPiA+ DQo+ID4gPiBGcm9tIG15IHByZXZpb3VzIHJldmlldzoNCj4gPiA+DQo+ID4gPiAgICJUaGlzIGlz IGNvbXBsZXRlbHkgYmFja3dhcmRzLg0KPiA+ID4NCj4gPiA+ICAgICAgICB0bXAzMiA9IHJtaWQ7 DQo+ID4gPiAgICAgICAgcm1pZCA9IHZybWlkOw0KPiA+ID4gICAgICAgIGRvX3N0dWZmKHJtaWQp Ow0KPiA+ID4gICAgICAgIHJtaWQgPSB0bXAzMjsNCj4gPiA+ICAgICAgICBkb19vdGhlcl9zdHVm ZihybWlkKTsNCj4gPiA+DQo+ID4gPiAgICBXaHkgY2FuJ3QgeW91IHVzZSB2cm1pZCBmb3IgZG9f c3R1ZmYoKSBhbmQgbGVhdmUgcm1pZCBhbG9uZT8gSnVzdA0KPiA+ID4gICAgYmVjYXVzZSBpdCB3 b3VsZCBtYWtlIHRoZSBjb2RlIHNpbXBsZXIgdG8gcmVhZD8iDQo+ID4gPg0KPiA+ID4gU3RpbGwg YXBwbGllcy4NCj4gPiA+DQo+ID4NCj4gPiBUaGlzIGlzIG5vdyBjaGFuZ2VkIHRvDQo+ID4gdTY0 IHZhbCwgY3VycmVudG1zciwgY3VycmVudGJ3LCBkaWZmX3RpbWUsIGNtYSwgYnl0ZXMsIGluZGV4 Ow0KPiA+ICAgICAgICAgYm9vbCBvdmVyZmxvdyA9IGZhbHNlLCBmaXJzdCA9IGZhbHNlOw0KPiA+ ICAgICAgICAga3RpbWVfdCBjdXJfdGltZTsNCj4gPiAgICAgICAgIHUzMiB0bXAzMiA9IHJtaWQs IGV2ZW50aWQ7DQo+ID4gICAgICAgICBzdHJ1Y3Qgc2FtcGxlICptYm1fY3VycmVudDsNCj4gPiAg ICAgICAgIHUzMiB2cm1pZCA9IHJtaWRfMl9pbmRleChybWlkKTsNCj4gPg0KPiA+ICAgICAgICAg cm1pZCA9IHZybWlkOw0KPiA+ICAgICAgICAgY3VyX3RpbWUgPSBrdGltZV9nZXQoKTsNCj4gPiAg ICAgICAgIGlmIChyZWFkX21ibV9sb2NhbCkgew0KPiA+ICAgICAgICAgICAgICAgICBtYm1fY3Vy cmVudCA9ICZtYm1fbG9jYWxbdnJtaWRdOw0KPiA+ICAgICAgICAgICAgICAgICBldmVudGlkICAg ICA9ICBRT1NfTUJNX0xPQ0FMX0VWRU5UX0lEX0hXOw0KPiA+ICAgICAgICAgICAgICAgICB3cm1z cihNU1JfSUEzMl9RTV9FVlRTRUwsIFFPU19NQk1fTE9DQUxfRVZFTlRfSURfSFcsDQo+ID4gcm1p ZCk7DQo+IA0KPiBZb3UgZG9uJ3QgbmVlZCB0byBwZXJmb3JtIHRoaXMgd3Jtc3IoKSBoZXJlIGJl Y2F1c2UgaXQncyB0YWtlbiBjYXJlIG9mIGluIHRoZQ0KPiBjb21tb24gY29kZSBiZWxvdy4NCj4g DQo+ID4gICAgICAgICB9IGVsc2Ugew0KPiA+ICAgICAgICAgICAgICAgICBtYm1fY3VycmVudCA9 ICZtYm1fdG90YWxbdnJtaWRdOw0KPiA+ICAgICAgICAgICAgICAgICBldmVudGlkICAgICA9IFFP U19NQk1fVE9UQUxfRVZFTlRfSUQ7DQo+ID4gICAgICAgICB9DQo+ID4gICAgICAgICBybWlkID0g dG1wMzI7DQo+IA0KPiBXaHkgZGlkIHlvdSBhc3NpZ24gcm1pZCB0byB2cm1pZCBpZiB5b3UgcmVh c3NpZ24gaXQgYmVmb3JlIGl0IHdhcyB1c2VkPw0KPiANCj4gDQo+ID4gPiA+ICsgICAvKiBpZiBj dXJyZW50IG1zciB2YWx1ZSA8ICBwcmV2aW91cyBtc3IgdmFsdWUgLCAgaXQgbWVhbnMgb3ZlcmZs b3cgKi8NCj4gPiA+ID4gKyAgIGlmICh2YWwgPCBieXRlcykgew0KPiA+ID4gPiArICAgICAgICAg ICB2YWwgPSBNQk1fQ05UUl9NQVggLSBieXRlcyArIHZhbDsNCj4gPiA+ID4gKyAgICAgICAgICAg b3ZlcmZsb3cgPSB0cnVlOw0KPiA+ID4gPiArICAgfSBlbHNlDQo+ID4gPiA+ICsgICAgICAgICAg IHZhbCA9IHZhbCAtIGJ5dGVzOw0KPiA+ID4gPiArDQo+ID4gPiA+ICsgICB2YWwgPSAgKHZhbCAq IE1CTV9USU1FX0RFTFRBX01BWCkgLyBkaWZmX3RpbWU7DQo+ID4gPiA+ICsNCj4gPiA+ID4gKyAg IGlmICgoZGlmZl90aW1lID4gTUJNX1RJTUVfREVMVEFfTUFYKSAmJiAoIWNtYSkpDQo+ID4gPiA+ ICsgICAgICAgICAgIC8qIEZpcnN0IHNhbXBsZSAqLw0KPiA+ID4gPiArICAgICAgICAgICBmaXJz dCA9IHRydWU7DQo+ID4gPiA+ICsNCj4gPiA+ID4gKyAgIHJtaWQgPSB2cm1pZDsNCj4gPiA+DQo+ ID4gPiBBbmQgYW5vdGhlciB0aW1lOg0KPiA+ID4NCj4gPiA+ICAgIk1vcmUgb2JmdXNjYXRpb24i DQo+ID4gPg0KPiA+DQo+ID4gICAgICAgIC8qDQo+ID4gICAgICAgICAgKiBNQk1fVElNRV9ERUxU QV9NQVggaXMgcGlja2VkIGFzIHBlciBNQk0gc3BlY3MuIEFzIHNwZWNpZmllZCBpbg0KPiBJbnRl bCBQbGF0Zm9ybQ0KPiA+ICAgICAgICAgICogUXVhbGl0eSBvZiBTZXJ2aWNlIE1vbml0b3Jpbmcg SW1wbGVtZW50ZXIncyBHdWlkZSBWMSwgU2VjdGlvbiAyLjcuMi4NCj4gcGFnZSAyMSwNCj4gPiAg ICAgICAgICAqIG92ZXJmbG93IGNhbiBvY2N1ciBtYXhpbXVtIG9uY2UgaW4gYSBzZWNvbmQuIFNv IGxhdGVzdCB3ZSB3YW50IHRvDQo+IHJlYWQgdGhlIE1TUg0KPiA+ICAgICAgICAgICogY291bnRl cnMgaXMgMTAwMG1zLiBJZiBpdCBpcyBsZXNzIHRoYW4gMTAwMG1zIHdlIGNhbiAgaWdub3JlIHRo ZSBzYW1wbGUuDQo+IFRoZW4gd2UNCj4gPiAgICAgICAgICAqIGRlY2lkZSBzaW5jZSB3aGVuIHdl IHNob3VsZCBpZ25vcmUuIElmIHRoZSBNU1Igd2FzIFJlYWQgd2l0aCBpbiBsYXN0DQo+IDEwMG1z LCB3aHkNCj4gPiAgICAgICAgICAqIHByb2Nlc3MgdGhlIE1TUiByZWFkcyBhZ2Fpbi4gQW55d2F5 IHRoZXJlJ2xsIGJlIHNtYWxsIGNoYW5nZSBvciB6ZXJvDQo+IGNoYW5nZS4NCj4gPiAgICAgICAg ICAqIFNvIGlnbm9yaW5nIE1TUiBSZWFkcyB3aXRoaW4gMTAwbXMgb3IgbGVzcyBpcyBlZmZpY2ll bnQuDQo+IE1CTV9USU1FX0RFTFRBX01JTg0KPiA+ICAgICAgICAgICogaXMgc3BlY2lmaWVkIGFz IDEwMG1zIGFzIHBlciB0aGlzIGd1aWRlbGluZS4NCj4gPiAgICAgICAgICAqDQo+ID4gICAgICAg ICAgKi8NCj4gDQo+IEkgc3VzcGVjdCB0aGUgZG9jdW1lbnQgeW91J3JlIHJlZmVycmluZyB0byBh Ym92ZSBpcyBvbmx5IGF2YWlsYWJsZSB1bmRlciBOREEsDQo+IHdoaWNoIG1ha2VzIGl0IHVuc3Vp dGFibGUgZm9yIG1lbnRpb24gaW4gdGhlIGtlcm5lbCBzb3VyY2Ugc2luY2UgYSBsYXJnZSBudW1i ZXINCj4gb2YgcGVvcGxlIHdvbid0IGhhdmUgYWNjZXNzIHRvIGl0Lg0KPiANCj4gSnVzdCBleHBs YWluIHRoYXQgdGhlIHdheSB0aGUgaGFyZHdhcmUgaXMgZGVzaWduZWQgcHV0cyBhbiB1cHBlciBs aW1pdCBvbiBob3cNCj4gcXVpY2tseSB0aGUgY291bnRlciBjYW4gb3ZlcmZsb3csIHdoaWNoIGlz IG9uY2UgcGVyIHNlY29uZC4NCj4gDQo+IA0KPiA+ID4gPiArc3RhdGljIHZvaWQgX19pbnRlbF9j cW1fZXZlbnRfdG90YWxfYndfY291bnQodm9pZCAqaW5mbykgew0KPiA+ID4gPiArICAgc3RydWN0 IHJtaWRfcmVhZCAqcnIgPSBpbmZvOw0KPiA+ID4gPiArICAgdTY0IHZhbDsNCj4gPiA+ID4gKw0K PiA+ID4gPiArICAgdmFsID0gX19ybWlkX3JlYWRfbWJtKHJyLT5ybWlkLCBmYWxzZSk7DQo+ID4g PiA+ICsgICBpZiAodmFsICYgKFJNSURfVkFMX0VSUk9SIHwgUk1JRF9WQUxfVU5BVkFJTCkpDQo+ ID4gPiA+ICsgICAgICAgICAgIHJldHVybjsNCj4gPiA+ID4gKyAgIGF0b21pYzY0X2FkZCh2YWws ICZyci0+dmFsdWUpOyB9DQo+ID4gPiA+ICsNCj4gPiA+ID4gK3N0YXRpYyB2b2lkIF9faW50ZWxf Y3FtX2V2ZW50X2xvY2FsX2J3X2NvdW50KHZvaWQgKmluZm8pIHsNCj4gPiA+ID4gKyAgIHN0cnVj dCBybWlkX3JlYWQgKnJyID0gaW5mbzsNCj4gPiA+ID4gKyAgIHU2NCB2YWw7DQo+ID4gPiA+ICsN Cj4gPiA+ID4gKyAgIHZhbCA9IF9fcm1pZF9yZWFkX21ibShyci0+cm1pZCwgdHJ1ZSk7DQo+ID4g PiA+ICsgICBpZiAodmFsICYgKFJNSURfVkFMX0VSUk9SIHwgUk1JRF9WQUxfVU5BVkFJTCkpDQo+ ID4gPiA+ICsgICAgICAgICAgIHJldHVybjsNCj4gPiA+ID4gKyAgIGF0b21pYzY0X2FkZCh2YWws ICZyci0+dmFsdWUpOyB9DQo+ID4gPg0KPiA+ID4gQW5kIG9uY2UgbW9yZToNCj4gPiA+DQo+ID4g PiAgICJZb3UncmUgcmVhbGx5IGEgZmFuIG9mIGNvcHkgYW5kIHBhc3RlLiINCj4gPiA+DQo+ID4N Cj4gPiBUaGVzZSBmdW5jdGlvbnMgYXJlIGludm9rZWQgaW5kaXJlY3RseS4gVGhleSB3ZXJlIHdy aXR0ZW4ga2VlcGluZw0KPiBpbnRlbF9jcW1fZXZlbnRfY291bnQgaW4gIG1pbmQuDQo+ID4gSeKA mWxsIGNoYW5nZSB0aGUgYXJnIHRvIHN0cnVjdCAgIG1ibV9yZWFkew0KPiA+ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHJtaWRfcmVh ZCAqcnI7DQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB1MzIgZXZlbnRpZDsNCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB9Ow0KPiA+IEludGVsX2NxbV9ldmVudF8qX2J3X2NvdW50KOKA pi4pIG5lZWRzIGV2ZW50aWQgdG8gY2FsbCBmb3IgZGVjb2RpbmcNCj4gDQo+IE5vLCBwbGVhc2Ug ZG8gbm90IGR1cGxpY2F0ZSB0aGUgcm1pZF9yZWFkIHN0cnVjdHVyZSwgdGhhdCBpcyBub3QgYW4N Cj4gaW1wcm92ZW1lbnQsIHdlIGRvbid0IG5lZWQgdHdvIGRpZmZlcmVudCBzdHJ1Y3RzIGZvciBy ZWFkaW5nIHRoZSByZWFkIGRhdGEuDQo+IA0KPiBQbGVhc2UgYWRkIHRoZSBldmVudCBmaWVsZCB0 byB0aGUgZXhpc3Rpbmcgc3RydWN0IHJtaWRfcmVhZC4NCj4gDQo+IA0KPiA+ID4gPiBAQCAtMTAy Myw2ICsxNDM3LDE3IEBAIHN0YXRpYyB2b2lkIGludGVsX2NxbV9ldmVudF9zdG9wKHN0cnVjdA0K PiA+ID4gcGVyZl9ldmVudCAqZXZlbnQsIGludCBtb2RlKQ0KPiA+ID4gPiAgICAgIH0gZWxzZSB7 DQo+ID4gPiA+ICAgICAgICAgICAgICBXQVJOX09OX09OQ0UoIXN0YXRlLT5ybWlkKTsNCj4gPiA+ ID4gICAgICB9DQo+ID4gPiA+ICsNCj4gPiA+ID4gKyAgIGlmIChwbXUpIHsNCj4gPiA+ID4gKyAg ICAgICAgICAgaWYgKHBtdS0+bl9hY3RpdmUgPiAgMCkgew0KPiA+ID4NCj4gPiA+IFdoYXQncyB0 aGUgcHVycG9zZSBvZiB0aGlzIGNoZWNrPyBJbiB0aGUgcHJldmlvdXMgdmVyc2lvbiB0aGVyZSB3 YXMNCj4gPiA+IGEgV0FSTl9PTigpLCB3aGljaCBtYWRlIHNlbnNlLiBEaWQgaXQgdHJpZ2dlciBh bmQgeW91IGRlY2lkZWQgdG8gIndvcmsiDQo+ID4gPiBhcm91bmQgaXQ/DQo+ID4gPg0KPiA+DQo+ ID4gV2UgYWN0dWFsbHkgbWVhbnQgdG8gY2hlY2sgaWYgdGhlcmUgYXJlIGFjdGl2ZSBldmVudHMN Cj4gDQo+IEkgZG9uJ3QgZm9sbG93IHRoaXMgYW5zd2VyLiBBcmUgeW91IHNheWluZyB0aGF0IHRo ZSBXQVJOX09OKCkgZG9lc24ndCBtYWtlDQo+IHNlbnNlIGhlcmU/DQo+IA0KPiANCj4gDQo+ID4N Cj4gPiA+ID4gK0VWRU5UX0FUVFJfU1RSKGxsY190b3RhbF9idy51bml0LCBpbnRlbF9jcW1fbGxj X3RvdGFsX2J3X3VuaXQsDQo+ID4gPiA+ICsiS0Ivc2VjIik7IEVWRU5UX0FUVFJfU1RSKGxsY19s b2NhbF9idy51bml0LA0KPiA+ID4gPiAraW50ZWxfY3FtX2xsY19sb2NhbF9id191bml0LCAiS0Iv c2VjIik7ICNlbmRpZg0KPiA+ID4NCj4gPiA+ID4gK3N0YXRpYyBzc2l6ZV90DQo+ID4gPiA+ICtz bGlkaW5nX3dpbmRvd19zaXplX3N0b3JlKHN0cnVjdCBkZXZpY2UgKmRldiwNCj4gPiA+ID4gKyAg ICAgICAgICAgICAgICAgICAgIHN0cnVjdCBkZXZpY2VfYXR0cmlidXRlICphdHRyLA0KPiA+ID4g PiArICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqYnVmLCBzaXplX3QgY291bnQpIHsN Cj4gPiA+ID4gKyAgIHVuc2lnbmVkIGludCBieXRlczsNCj4gPiA+ID4gKyAgIGludCByZXQ7DQo+ ID4gPiA+ICsNCj4gPiA+ID4gKyAgIHJldCA9IGtzdHJ0b3VpbnQoYnVmLCAwLCAmYnl0ZXMpOw0K PiA+ID4gPiArICAgaWYgKHJldCkNCj4gPiA+ID4gKyAgICAgICAgICAgcmV0dXJuIHJldDsNCj4g PiA+ID4gKw0KPiA+ID4gPiArICAgbXV0ZXhfbG9jaygmY2FjaGVfbXV0ZXgpOw0KPiA+ID4gPiAr ICAgaWYgKGJ5dGVzID4gMCAmJiBieXRlcyA8PSBNQk1fRklGT19TSVpFX01BWCkNCj4gPiA+ID4g KyAgICAgICAgICAgbWJtX3dpbmRvd19zaXplID0gYnl0ZXM7DQo+ID4gPg0KPiA+ID4gU28sIGl0 J3MgdmFsaWQgdG8gc2V0IHRoZSB3aW5kb3cgdG8gWCB3aGVyZSAwIDwgWCA8IE1CTV9GSUZPX1NJ WkVfTUlOLg0KPiA+ID4gV2hhdCdzIHRoZSBhY3R1YWwgcHVycG9zZSBvZiBNQk1fRklGT19TSVpF X01JTj8NCj4gPiA+DQo+ID4gVGhpcyBpcyBjaGFuZ2VkIHRvDQo+ID4gaWYgKGJ5dGVzID49IE1C TV9GSUZPX1NJWkVfTUlOICYmIGJ5dGVzIDw9IE1CTV9GSUZPX1NJWkVfTUFYKQ0KPiA+ICAgICAg ICAgICAgICAgICBtYm1fd2luZG93X3NpemUgPSBieXRlczsNCj4gDQo+IE5vdGUgdGhhdCBpZiB0 aGUgdXNlciBwYXNzZXMgYSB2YWx1ZSBvdXRzaWRlIG9mIHRoaXMgcmFuZ2UgeW91IHNob3VsZCBi ZSByZXR1cm5pbmcNCj4gLUVJTlZBTCB0byBpbmRpY2F0ZSB0aGF0Lg0KPiANCj4gDQo+ID4gPiA+ ICsgICAgICAgICAgIHBtdS0+dGltZXJfaW50ZXJ2YWwgPSBtc190b19rdGltZShNQk1fVElNRV9E RUxUQV9NQVgpOw0KPiA+ID4gPiArICAgICAgICAgICBwZXJfY3B1KG1ibV9wbXUsIGNwdSkgPSBw bXU7DQo+ID4gPiA+ICsgICAgICAgICAgIHBlcl9jcHUobWJtX3BtdV90b19mcmVlLCBjcHUpID0g TlVMTDsNCj4gPiA+DQo+ID4gPiBXaGF0J3MgdGhlIHBvaW50IG9mIHRoaXM/IElmIHRoZXJlIGlz IHN0aWxsIHNvbWV0aGluZyB0byBiZSBmcmVlJ2QgaXRzIGxlYWtlZC4NCj4gPiA+IE90aGVyd2lz ZSB0aGF0J3MgcmVkdW5kYW50Lg0KPiA+IHBlcl9jcHUobWJtX3BtdV90b19mcmVlLCBjcHUpID0g TlVMTDsgaXMgcmVtb3ZlZA0KPiA+DQo+ID4gPiA+ICsgICAgICAgICAgIG1ibV9ocnRpbWVyX2lu aXQocG11KTsNCj4gPiA+ID4gKyAgIH0NCj4gPiA+ID4gKyAgIHJldHVybiAwOw0KPiA+ID4NCj4g PiA+IHMvMC9OT1RJRllfT0svIGJlY2F1c2UgeW91IHJldHVybiB0aGF0IHZhbHVlIGRpcmVjdGx5 Lg0KPiA+ID4NCj4gPiBZb3UgbWVhbiBJIHJldHVybiB0aGUg4oCYcmV0dXJuIGNvZGXigJkNCj4g DQo+ID8NCj4gDQo+IFlvdSBzaG91bGQgYmUgdXNpbmcgTk9USUZZX09LIGhlcmUgc28gdGhhdCB5 b3UgZm9sbG93IHRoZSBub3RpZmllciBBUEkNCj4gY29udmVudGlvbi4NCj4gDQoNCg== -- 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 | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Re: [PATCH v3 1/2] perf,x86: add Intel Memory Bandwidth Monitoring (MBM) PMU Matt Fleming <matt.fleming@intel.com> - 2015-09-08 13:50 +0200
RE: [PATCH v3 1/2] perf,x86: add Intel Memory Bandwidth Monitoring (MBM) PMU "Juvva, Kanaka D" <kanaka.d.juvva@intel.com> - 2015-09-08 18:20 +0200
RE: [PATCH v3 1/2] perf,x86: add Intel Memory Bandwidth Monitoring (MBM) PMU "Juvva, Kanaka D" <kanaka.d.juvva@intel.com> - 2015-09-08 19:10 +0200
Re: [PATCH v3 1/2] perf,x86: add Intel Memory Bandwidth Monitoring (MBM) PMU Matt Fleming <matt.fleming@intel.com> - 2015-09-10 16:00 +0200
Re: [PATCH v3 1/2] perf,x86: add Intel Memory Bandwidth Monitoring (MBM) PMU Kanaka Juvva <kanaka.d.juvva@intel.com> - 2015-09-10 23:20 +0200
Re: [PATCH v3 1/2] perf,x86: add Intel Memory Bandwidth Monitoring (MBM) PMU Matt Fleming <matt@codeblueprint.co.uk> - 2015-09-11 23:20 +0200
Re: [PATCH v3 1/2] perf, x86: add Intel Memory Bandwidth Monitoring (MBM) PMU kanaka.d.juvva@linux.intel.com - 2015-09-08 22:00 +0200
csiph-web