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


Groups > linux.kernel > #1220953

RE: [PATCH v3 1/2] perf,x86: add Intel Memory Bandwidth Monitoring (MBM) PMU

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

Show all headers | View raw


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 | NextPrevious in thread | Next in thread | Find similar | Unroll thread


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