From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andres Rodriguez Subject: RE: [RFC] Mechanism for high priority scheduling in amdgpu Date: Sat, 17 Dec 2016 01:29:10 +0000 Message-ID: <544E607D03B20249AA404517E498FC4699EC41@exchange01.valvesoftware.com> References: <544E607D03B20249AA404517E498FC4699EBD3@exchange01.valvesoftware.com>, Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: Content-Language: en-US List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: "Sagalovitch, Serguei" , "amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org" SGkgU2VyZ3VlaSwKClRoYW5rcyBmb3IgdGhlIGZlZWRiYWNrLiBBbnN3ZXJzIGlubGluZSBhcyBb QVJdLgoKUmVnYXJkcywKQW5kcmVzCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCkZyb206IFNhZ2Fsb3ZpdGNoLCBTZXJndWVpIFtTZXJndWVpLlNhZ2Fsb3ZpdGNoQGFt ZC5jb21dClNlbnQ6IEZyaWRheSwgRGVjZW1iZXIgMTYsIDIwMTYgODoxNSBQTQpUbzogQW5kcmVz IFJvZHJpZ3VlejsgYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKU3ViamVjdDogUmU6IFtS RkNdIE1lY2hhbmlzbSBmb3IgaGlnaCBwcmlvcml0eSBzY2hlZHVsaW5nIGluIGFtZGdwdQoKQW5k cmVzLAoKClF1aWNrIGNvbW1lbnRzOgoKMSkgVG8gbWluaW1pemUgImJ1YmJsZXMiLCBldGMuIHdl IG5lZWQgdG8gImZvcmNlIsKgQ1UgYXNzaWdubWVudHMvYmluZGluZwp0byBoaWdoLXByaW9yaXR5 IHF1ZXVlICB3aGVuIGl0IHdpbGwgYmUgaW4gdXNlIGFuZCAiZnJlZSIgdGhlbSBsYXRlcgood2Ug IGRvIG5vdCB3YW50IGZvcmV2ZXIgdGFrZSBDVXMgZnJvbSBlLmcuIGdyYXBoaWMgdGFzayB0byBk ZWdyYWRlIGdyYXBoaWNzCnBlcmZvcm1hbmNlKS4KCk90aGVyd2lzZSB3ZSBjb3VsZCBoYXZlIHNj ZW5hcmlvIHdoZW4gbG9uZyBncmFwaGljcyB0YXNrIChvciBsb3ctcHJpb3JpdHkKY29tcHV0ZSkg d2lsbCB0b29rIGFsbCAoZXh0cmEpIENVcyBhbmQgaGlnaC0tcHJpb3JpdHkgd2lsbCB3YWl0IGZv ciBuZWVkZWQgcmVzb3VyY2VzLgpJdCB3aWxsIG5vdCBiZSB2aXNpYmxlIG9uICJOT1AgIsKgYnV0 IG9ubHkgd2hlbiB5b3Ugc3VibWl0ICJyZWFsIiBjb21wdXRlIHRhc2sKc28gSSB3b3VsZCByZWNv bW1lbmQgIG5vdCB0byB1c2UgIk5PUCIgcGFja2V0cyBhdCBhbGwgZm9yIHRlc3RpbmcuCgpJdCAo Q1UgYXNzaWdubWVudCkgY291bGQgYmUgcmVsYXRpdmVseSBlYXN5IGRvbmUgd2hlbiBldmVyeXRo aW5nIGlzIGdvaW5nIHZpYSBrZXJuZWwKKGUuZy4gYXMgcGFydCBvZiBmcmFtZSBzdWJtaXNzaW9u KSBidXQgSSBtdXN0IGFkbWl0IHRoYXQgSSBhbSBub3Qgc3VyZQphYm91dCB0aGUgYmVzdCB3YXkg Zm9yIHVzZXIgbGV2ZWwgc3VibWlzc2lvbnMgKGFtZGtmZCkuCgpbQVJdIEkgd2Fzbid0IGF3YXJl IG9mIHRoaXMgcGFydCBvZiB0aGUgcHJvZ3JhbW1pbmcgc2VxdWVuY2UuIFRoYW5rcyBmb3IgdGhl IGhlYWRzIHVwIQpJcyB0aGlzIHNpbWlsYXIgdG8gdGhlIENVIG1hc2tpbmcgcHJvZ3JhbW1pbmc/ CgoyKSBJIHdvdWxkIHJlY29tbWVuZCB0byBkZWRpY2F0ZSB0aGUgd2hvbGUgcGlwZSB0byBoaWdo LXByaW9yaXR5IHF1ZXVlIGFuZCBoYXZlCm5vdGhpbmcgdGhlaXIgZXhjZXB0IGl0LgoKW0FSXSBJ J20gZ3Vlc3NpbmcgaW4gdGhpcyBjb250ZXh0IHlvdSBtZWFuIHBpcGUgPSBxdWV1ZT8gKGFzIG9w cG9zZWQgdG8gdGhlIE1FQyBkZWZpbml0aW9uCm9mIHBpcGUsIHdoaWNoIGlzIGEgZ3JvdXBpbmcg b2YgcXVldWVzKS4gSSBzYXkgdGhpcyBiZWNhdXNlIGFtZGdwdSBvbmx5IGhhcyBhY2Nlc3MgdG8g MSBwaXBlLAphbmQgdGhlIHJlc3QgYXJlIHN0YXRpY2FsbHkgcGFydGl0aW9uZWQgZm9yIGFtZGtm ZCB1c2FnZS4KCkJUVzogV2hpY2ggdXNlciBsZXZlbCBBUEkgZG8geW91IHdhbnQgdG8gdXNlIGZv ciBjb21wdXRlOiBWdWxrYW4gb3IgT3BlbkNMPwoKW0FSXSBWdWxrYW4KCj7CoHdlIHdpbGwgbm90 IGJlIGFibGUgdG8gcHJvdmlkZSBhIHNvbHV0aW9uIGNvbXBhdGlibGUgd2l0aCBHRlggd29ybG9h ZHMuCkkgYXNzdW1lIHRoYXQgeW91IGFyZSB0YWxraW5nIGFib3V0IGdyYXBoaWNzPyBBbSBJIHJp Z2h0PwoKW0FSXSBZZWFoLCBteSB1bmRlcnN0YW5kaW5nIGlzIHRoYXQgcHJlLWVtcHRpbmcgdGhl IGN1cnJlbnRseSBydW5uaW5nIGdyYXBoaWNzIGpvYiBhbmQgc2NoZWR1bGluZyBpbgpzb21ldGhp bmcgZWxzZSB1c2luZyBtaWQtYnVmZmVyIHByZS1lbXB0aW9uIGhhcyBzb21lIGNhc2VzIHdoZXJl IGl0IGRvZXNuJ3Qgd29yayB3ZWxsLiBCdXQgaWYgd2l0aApwb2xhcmlzMTAgaXQgc3RhcnRzIHdv cmtpbmcgd2VsbCwgaXQgbWlnaHQgYmUgYSBiZXR0ZXIgc29sdXRpb24gZm9yIHVzIChiZWNhdXNl IHRoZSB3aG9sZSByZXByb2plY3Rpb24Kd29yayB1c2VzIHRoZSB2dWxrYW4gZ3JhcGhpY3Mgc3Rh Y2sgYXQgdGhlIG1vbWVudCwgYW5kIHBvcnRpbmcgaXQgdG8gY29tcHV0ZSBpcyBub3QgdHJpdmlh bCkuCgpTaW5jZXJlbHkgeW91cnMsClNlcmd1ZWkgU2FnYWxvdml0Y2gKCgoKRnJvbTogYW1kLWdm eCA8YW1kLWdmeC1ib3VuY2VzQGxpc3RzLmZyZWVkZXNrdG9wLm9yZz4gb24gYmVoYWxmIG9mIEFu ZHJlcyBSb2RyaWd1ZXogPGFuZHJlc3JAdmFsdmVzb2Z0d2FyZS5jb20+ClNlbnQ6IERlY2VtYmVy IDE2LCAyMDE2IDY6MTUgUE0KVG86IGFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnClN1Ympl Y3Q6IFtSRkNdIE1lY2hhbmlzbSBmb3IgaGlnaCBwcmlvcml0eSBzY2hlZHVsaW5nIGluIGFtZGdw dQoKSGkgRXZlcnlvbmUsCgpUaGlzIFJGQyBpcyBhbHNvIGF2YWlsYWJsZSBhcyBhIGdpc3QgaGVy ZToKaHR0cHM6Ly9naXN0LmdpdGh1Yi5jb20vbG9zdGdvYXQvNzAwMDQzMmNkNjg2NDI2NWRiYzJj M2FiOTMyMDQyNDkKCgoKW1JGQ10gTWVjaGFuaXNtIGZvciBoaWdoIHByaW9yaXR5IHNjaGVkdWxp bmcgaW4gYW1kZ3B1Cmdpc3QuZ2l0aHViLmNvbQpbUkZDXSBNZWNoYW5pc20gZm9yIGhpZ2ggcHJp b3JpdHkgc2NoZWR1bGluZyBpbiBhbWRncHUKCgpXZSBhcmUgaW50ZXJlc3RlZCBpbiBmZWVkYmFj ayBmb3IgYSBtZWNoYW5pc20gdG8gZWZmZWN0aXZlbHkgc2NoZWR1bGUgaGlnaApwcmlvcml0eSBW UiByZXByb2plY3Rpb24gdGFza3MgKGFsc28gcmVmZXJyZWQgdG8gYXMgdGltZS13YXJwaW5nKSBm b3IgUG9sYXJpczEwCnJ1bm5pbmcgb24gdGhlIGFtZGdwdSBrZXJuZWwgZHJpdmVyLgoKQnJpZWYg Y29udGV4dDoKLS0tLS0tLS0tLS0tLS0KClRoZSBtYWluIG9iamVjdGl2ZSBvZiByZXByb2plY3Rp b24gaXMgdG8gYXZvaWQgbW90aW9uIHNpY2tuZXNzIGZvciBWUiB1c2VycyBpbgpzY2VuYXJpb3Mg d2hlcmUgdGhlIGdhbWUgb3IgYXBwbGljYXRpb24gd291bGQgZmFpbCB0byBmaW5pc2ggcmVuZGVy aW5nIGEgbmV3CmZyYW1lIGluIHRpbWUgZm9yIHRoZSBuZXh0IFZCTEFOSy4gV2hlbiB0aGlzIGhh cHBlbnMsIHRoZSB1c2VyJ3MgaGVhZCBtb3ZlbWVudHMKYXJlIG5vdCByZWZsZWN0ZWQgb24gdGhl IEhlYWQgTW91bnRlZCBEaXNwbGF5IChITUQpIGZvciB0aGUgZHVyYXRpb24gb2YgYW4KZXh0cmEg ZnJhbWUuIFRoaXMgZXh0ZW5kZWQgbWlzbWF0Y2ggYmV0d2VlbiB0aGUgaW5uZXIgZWFyIGFuZCB0 aGUgZXllcyBtYXkKY2F1c2UgdGhlIHVzZXIgdG8gZXhwZXJpZW5jZSBtb3Rpb24gc2lja25lc3Mu CgpUaGUgVlIgY29tcG9zaXRvciBkZWFscyB3aXRoIHRoaXMgcHJvYmxlbSBieSBmYWJyaWNhdGlu ZyBhIG5ldyBmcmFtZSB1c2luZyB0aGUKdXNlcidzIHVwZGF0ZWQgaGVhZCBwb3NpdGlvbiBpbiBj b21iaW5hdGlvbiB3aXRoIHRoZSBwcmV2aW91cyBmcmFtZXMuIFRoaXMKYXZvaWRzIGEgcHJvbG9u Z2VkIG1pc21hdGNoIGJldHdlZW4gdGhlIEhNRCBvdXRwdXQgYW5kIHRoZSBpbm5lciBlYXIuCgpC ZWNhdXNlIG9mIHRoZSBhZHZlcnNlIGVmZmVjdHMgb24gdGhlIHVzZXIsIHdlIHJlcXVpcmUgaGln aCBjb25maWRlbmNlIHRoYXQgdGhlCnJlcHJvamVjdGlvbiB0YXNrIHdpbGwgY29tcGxldGUgYmVm b3JlIHRoZSBWQkxBTksgaW50ZXJ2YWwuIEV2ZW4gaWYgdGhlIEdGWCBwaXBlCmlzIGN1cnJlbnRs eSBmdWxsIG9mIHdvcmsgZnJvbSB0aGUgZ2FtZS9hcHBsaWNhdGlvbiAod2hpY2ggaXMgbW9zdCBs aWtlbHkgdGhlIGNhc2UpLgoKRm9yIG1vcmUgZGV0YWlscyBhbmQgaWxsdXN0cmF0aW9ucywgcGxl YXNlIHJlZmVyIHRvIHRoZSBmb2xsb3dpbmcgZG9jdW1lbnQ6Cmh0dHBzOi8vY29tbXVuaXR5LmFt ZC5jb20vY29tbXVuaXR5L2dhbWluZy9ibG9nLzIwMTYvMDMvMjgvYXN5bmNocm9ub3VzLXNoYWRl cnMtZXZvbHZlZAoKCkdhbWluZzogQXN5bmNocm9ub3VzIFNoYWRlcnMgRXZvbHZlZCB8IENvbW11 bml0eQpjb21tdW5pdHkuYW1kLmNvbQpPbmUgb2YgdGhlIG1vc3QgZXhjaXRpbmcgbmV3IGRldmVs b3BtZW50cyBpbiBHUFUgdGVjaG5vbG9neSBvdmVyIHRoZSBwYXN0IHllYXIgaGFzIGJlZW4gdGhl IGFkb3B0aW9uIG9mIGFzeW5jaHJvbm91cyBzaGFkZXJzLCB3aGljaCBjYW4gbWFrZSBtb3JlIGVm ZmljaWVudCB1c2Ugb2YgLi4uCgoKUmVxdWlyZW1lbnRzOgotLS0tLS0tLS0tLS0tCgpUaGUgbWVj aGFuaXNtIG11c3QgZXhwb3NlIHRoZSBmb2xsb3dpbmcgZnVuY3Rpb25haWxpdHk6CgogICAgKiBK b2Igcm91bmQgdHJpcCB0aW1lIG11c3QgYmUgcHJlZGljdGFibGUsIGZyb20gc3VibWlzc2lvbiB0 byBmZW5jZSBzaWduYWwKCiAgICAqIFRoZSBtZWNoYW5pc20gbXVzdCBzdXBwb3J0IGNvbXB1dGUg d29ya2xvYWRzLgoKR29hbHM6Ci0tLS0tLQoKICAgICogVGhlIG1lY2hhbmlzbSBzaG91bGQgcHJv dmlkZSBsb3cgc3VibWlzc2lvbiBsYXRlbmNpZXMKClRlc3Q6IHN1Ym1pdHRpbmcgYSBOT1AgcGFj a2V0IHRocm91Z2ggdGhlIG1lY2hhbmlzbSBvbiBidXN5IGhhcmR3YXJlIHNob3VsZApiZSBlcXVp dmFsZW50IHRvIHN1Ym1pdHRpbmcgYSBOT1Agb24gaWRsZSBoYXJkd2FyZS4KCk5pY2UgdG8gaGF2 ZToKLS0tLS0tLS0tLS0tLQoKICAgICogVGhlIG1lY2hhbmlzbSBzaG91bGQgYWxzbyBzdXBwb3J0 IEdGWCB3b3JrbG9hZHMuCgpNeSB1bmRlcnN0YW5kaW5nIGlzIHRoYXQgd2l0aCB0aGUgY3VycmVu dCBoYXJkd2FyZSBjYXBhYmlsaXRpZXMgaW4gUG9sYXJpczEwIHdlCndpbGwgbm90IGJlIGFibGUg dG8gcHJvdmlkZSBhIHNvbHV0aW9uIGNvbXBhdGlibGUgd2l0aCBHRlggd29ybG9hZHMuCgpCdXQg SSB3b3VsZCBsb3ZlIHRvIGhlYXIgb3RoZXJ3aXNlLiBTbyBpZiBhbnlvbmUgaGFzIGFuIGlkZWEs IGFwcHJvYWNoIG9yCnN1Z2dlc3Rpb24gdGhhdCB3aWxsIGFsc28gYmUgY29tcGF0aWJsZSB3aXRo IHRoZSBHRlggcmluZywgcGxlYXNlIGxldCB1cyBrbm93CmFib3V0IGl0LgoKICAgICogVGhlIGFi b3ZlIGd1YXJhbnRlZXMgc2hvdWxkIGFsc28gYmUgcmVzcGVjdGVkIGJ5IGFtZGtmZCB3b3JrbG9h ZHMKCldvdWxkIGJlIGdvb2QgdG8gaGF2ZSBmb3IgY29uc2lzdGVuY3ksIGJ1dCBub3Qgc3RyaWN0 bHkgbmVjZXNzYXJ5IGFzIHVzZXJzIHJ1bm5pbmcKZ2FtZXMgYXJlIG5vdCB0cmFkaXRpb25hbGx5 IHJ1bm5pbmcgSFBDIHdvcmtsb2FkcyBpbiB0aGUgYmFja2dyb3VuZC4KClByb3Bvc2VkIGFwcHJv YWNoOgotLS0tLS0tLS0tLS0tLS0tLS0KClNpbWlsYXIgdG8gdGhlIHdpbmRvd3MgZHJpdmVyLCB3 ZSBjb3VsZCBleHBvc2UgYSBoaWdoIHByaW9yaXR5IGNvbXB1dGUgcXVldWUgdG8KdXNlcnNwYWNl LgoKU3VibWlzc2lvbnMgdG8gdGhpcyBjb21wdXRlIHF1ZXVlIHdpbGwgYmUgc2NoZWR1bGVkIHdp dGggaGlnaCBwcmlvcml0eSwgYW5kIG1heQphY3F1aXJlIGhhcmR3YXJlIHJlc291cmNlcyBwcmV2 aW91c2x5IGluIHVzZSBieSBvdGhlciBxdWV1ZXMuCgpUaGlzIGNhbiBiZSBhY2hpZXZlZCBieSB0 YWtpbmcgYWR2YW50YWdlIG9mIHRoZSAncHJpb3JpdHknIGZpZWxkIGluIHRoZSBIUURzCmFuZCBj b3VsZCBiZSBwcm9ncmFtbWVkIGJ5IGFtZGdwdSBvciB0aGUgYW1kZ3B1IHNjaGVkdWxlci4gVGhl IHJlbGV2YW50CnJlZ2lzdGVyIGZpZWxkcyBhcmU6CiAgICAgICAgKiBtbUNQX0hRRF9QSVBFX1BS SU9SSVRZCiAgICAgICAgKiBtbUNQX0hRRF9RVUVVRV9QUklPUklUWQoKSW1wbGVtZW50YXRpb24g YXBwcm9hY2ggMSAtIHN0YXRpYyBwYXJ0aXRpb25pbmc6Ci0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKVGhlIGFtZGdwdSBkcml2ZXIgY3VycmVudGx5IGNv bnRyb2xzIDggY29tcHV0ZSBxdWV1ZXMgZnJvbSBwaXBlMC4gV2UgY2FuCnN0YXRpY2FsbHkgcGFy dGl0aW9uIHRoZXNlIGFzIGZvbGxvd3M6CiAgICAgICAgKiA3eCByZWd1bGFyCiAgICAgICAgKiAx eCBoaWdoIHByaW9yaXR5CgpUaGUgcmVsZXZhbnQgcHJpb3JpdGllcyBjYW4gYmUgc2V0IHNvIHRo YXQgc3VibWlzc2lvbnMgdG8gdGhlIGhpZ2ggcHJpb3JpdHkKcmluZyB3aWxsIHN0YXJ2ZSB0aGUg b3RoZXIgY29tcHV0ZSByaW5ncyBhbmQgdGhlIEdGWCByaW5nLgoKVGhlIGFtZGdwdSBzY2hlZHVs ZXIgd2lsbCBvbmx5IHBsYWNlIGpvYnMgaW50byB0aGUgaGlnaCBwcmlvcml0eSByaW5ncyBpZiB0 aGUKY29udGV4dCBpcyBtYXJrZWQgYXMgaGlnaCBwcmlvcml0eS4gQW5kIGEgY29ycmVzcG9uZGlu ZyBwcmlvcml0eSBzaG91bGQgYmUKYWRkZWQgdG8ga2VlcCB0cmFjayBvZiB0aGlzIGluZm9ybWF0 aW9uOgogICAgICogQU1EX1NDSEVEX1BSSU9SSVRZX0tFUk5FTAogICAgICogLT4gQU1EX1NDSEVE X1BSSU9SSVRZX0hJR0gKICAgICAqIEFNRF9TQ0hFRF9QUklPUklUWV9OT1JNQUwKClRoZSB1c2Vy IHdpbGwgcmVxdWVzdCBhIGhpZ2ggcHJpb3JpdHkgY29udGV4dCBieSBzZXR0aW5nIGFuIGFwcHJv cHJpYXRlIGZsYWcKaW4gZHJtX2FtZGdwdV9jdHhfaW4gKEFNREdQVV9DVFhfSElHSF9QUklPUklU WSBvciBzaW1pbGFyKToKaHR0cHM6Ly9naXRodWIuY29tL3RvcnZhbGRzL2xpbnV4L2Jsb2IvbWFz dGVyL2luY2x1ZGUvdWFwaS9kcm0vYW1kZ3B1X2RybS5oI0wxNjMKClRoZSBzZXR0aW5nIGlzIGlu IGEgcGVyIGNvbnRleHQgbGV2ZWwgc28gdGhhdCB3ZSBjYW46CiAgICAqIE1haW50YWluIGEgY29u c2lzdGVudCBGSUZPIG9yZGVyaW5nIG9mIGFsbCBzdWJtaXNzaW9ucyB0byBhIGNvbnRleHQKICAg ICogQ3JlYXRlIGhpZ2ggcHJpb3JpdHkgYW5kIG5vbi1oaWdoIHByaW9yaXR5IGNvbnRleHRzIGlu IHRoZSBzYW1lIHByb2Nlc3MKCkltcGxlbWVudGF0aW9uIGFwcHJvYWNoIDIgLSBkeW5hbWljIHBy aW9yaXR5IHByb2dyYW1taW5nOgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0KClNpbWlsYXIgdG8gdGhlIGFib3ZlLCBidXQgaW5zdGVhZCBv ZiBwcm9ncmFtbWluZyB0aGUgcHJpb3JpdGllcyBhbmQKYW1kZ3B1X2luaXQoKSB0aW1lLCB0aGUg U1cgc2NoZWR1bGVyIHdpbGwgcmVwcm9ncmFtIHRoZSBxdWV1ZSBwcmlvcml0aWVzCmR5bmFtaWNh bGx5IHdoZW4gc2NoZWR1bGluZyBhIHRhc2suCgpUaGlzIHdvdWxkIGludm9sdmUgaGF2aW5nIGEg aGFyZHdhcmUgc3BlY2lmaWMgY2FsbGJhY2sgZnJvbSB0aGUgc2NoZWR1bGVyIHRvCnNldCB0aGUg YXBwcm9wcmlhdGUgcXVldWUgcHJpb3JpdHk6IHNldF9wcmlvcml0eShpbnQgcmluZywgaW50IGlu ZGV4LCBpbnQgcHJpb3JpdHkpCgpEdXJpbmcgdGhpcyBjYWxsYmFjayB3ZSB3b3VsZCBoYXZlIHRv IGdyYWIgdGhlIFNSQk0gbXV0ZXggdG8gcGVyZm9ybSB0aGUgYXBwcm9wcmlhdGUKSFcgcHJvZ3Jh bW1pbmcsIGFuZCBJJ20gbm90IHJlYWxseSBzdXJlIGlmIHRoYXQgaXMgc29tZXRoaW5nIHdlIHNo b3VsZCBiZSBkb2luZyBmcm9tCnRoZSBzY2hlZHVsZXIuCgpPbiB0aGUgcG9zaXRpdmUgc2lkZSwg dGhpcyBhcHByb2FjaCB3b3VsZCBhbGxvdyB1cyB0byBwcm9ncmFtIGEgcmFuZ2Ugb2YKcHJpb3Jp dGllcyBmb3Igam9icyBpbnN0ZWFkIG9mIGEgc2luZ2xlICJoaWdoIHByaW9yaXR5IiB2YWx1ZSIs IGFjaGlldmluZwpzb21ldGhpbmcgc2ltaWxhciB0byB0aGUgbmljZW5lc3MgQVBJIGF2YWlsYWJs ZSBmb3IgQ1BVIHNjaGVkdWxpbmcuCgpJJ20gbm90IHN1cmUgaWYgdGhpcyBmbGV4aWJpbGl0eSBp cyBzb21ldGhpbmcgdGhhdCB3ZSB3b3VsZCBuZWVkIGZvciBvdXIgdXNlCmNhc2UsIGJ1dCBpdCBt aWdodCBiZSB1c2VmdWwgaW4gb3RoZXIgc2NlbmFyaW9zIChtdWx0aXBsZSB1c2VycyBzaGFyaW5n IGNvbXB1dGUKdGltZSBvbiBhIHNlcnZlcikuCgpUaGlzIGFwcHJvYWNoIHdvdWxkIHJlcXVpcmUg YSBuZXcgaW50IGZpZWxkIGluIGRybV9hbWRncHVfY3R4X2luLCBvciByZXB1cnBvc2luZwpvZiB0 aGUgZmxhZ3MgZmllbGQuCgpLbm93biBjdXJyZW50IG9ic3RhY2xlczoKLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCgpUaGUgU1EgaXMgY3VycmVudGx5IHByb2dyYW1tZWQgdG8gZGlzcmVnYXJkIHRo ZSBIUUQgcHJpb3JpdGllcywgYW5kIGluc3RlYWQgaXQgcGlja3MKam9icyBhdCByYW5kb20uIFNl dHRpbmdzIGZyb20gdGhlIHNoYWRlciBpdHNlbGYgYXJlIGFsc28gZGlzcmVnYXJkZWQgYXMgdGhp cyBpcwpjb25zaWRlcmVkIGEgcHJpdmlsZWdlZCBmaWVsZC4KCkVmZmVjdGl2ZWx5IHdlIGNhbiBn ZXQgb3VyIGNvbXB1dGUgd2F2ZWZyb250IGxhdW5jaGVkIEFTQVAsIGJ1dCB3ZSBtaWdodCBub3Qg Z2V0IHRoZQp0aW1lIHdlIG5lZWQgb24gdGhlIFNRLgoKVGhlIGN1cnJlbnQgcHJvZ3JhbW1pbmcg d291bGQgaGF2ZSB0byBiZSBjaGFuZ2VkIHRvIGFsbG93IHByaW9yaXR5IHByb3BhZ2F0aW9uCmZy b20gdGhlIEhRRCBpbnRvIHRoZSBTUS4KCkdlbmVyaWMgYXBwcm9hY2ggZm9yIGFsbCBIVyBJUHM6 Ci0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpGb3IgY29uc2lzdGVuY3kgcHVycG9z ZXMsIHRoZSBoaWdoIHByaW9yaXR5IGNvbnRleHQgY2FuIGJlIGVuYWJsZWQgZm9yIGFsbCBIVyBJ UHMKd2l0aCBzdXBwb3J0IG9mIHRoZSBTVyBzY2hlZHVsZXIuIFRoaXMgd2lsbCBmdW5jdGlvbiBz aW1pbGFybHkgdG8gdGhlIGN1cnJlbnQKQU1EX1NDSEVEX1BSSU9SSVRZX0tFUk5FTCBwcmlvcml0 eSwgd2hlcmUgdGhlIGpvYiBjYW4ganVtcCBhaGVhZCBvZiBhbnl0aGluZyBub3QKY29tbWl0ZWQg dG8gdGhlIEhXIHF1ZXVlLgoKVGhlIGJlbmVmaXRzIG9mIHJlcXVlc3RpbmcgYSBoaWdoIHByaW9y aXR5IGNvbnRleHQgZm9yIGEgbm9uLWNvbXB1dGUgcXVldWUgd2lsbApiZSBsZXNzZXIgKGUuZy4g dXAgdG8gMTBzIG9mIHdhaXQgdGltZSBpZiBhIEdGWCBjb21tYW5kIGlzIHN0dWNrIGluIGZyb250 IG9mCnlvdSksIGJ1dCBoYXZpbmcgdGhlIEFQSSBpbiBwbGFjZSB3aWxsIGFsbG93IHVzIHRvIGVh c2lseSBpbXByb3ZlIHRoZSBpbXBsZW1lbnRhdGlvbgppbiB0aGUgZnV0dXJlIGFzIG5ldyBmZWF0 dXJlcyBiZWNvbWUgYXZhaWxhYmxlIGluIG5ldyBoYXJkd2FyZS4KCkZ1dHVyZSBzdGVwczoKLS0t LS0tLS0tLS0tLQoKT25jZSB3ZSBoYXZlIGFuIGFwcHJvYWNoIHNldHRsZWQsIEkgY2FuIHRha2Ug Y2FyZSBvZiB0aGUgaW1wbGVtZW50YXRpb24uCgpBbHNvLCBvbmNlIHRoZSBpbnRlcmZhY2UgaXMg bW9zdGx5IGRlY2lkZWQsIHdlIGNhbiBzdGFydCB0aGlua2luZyBhYm91dApleHBvc2luZyB0aGUg aGlnaCBwcmlvcml0eSBxdWV1ZSB0aHJvdWdoIHJhZHYuCgpSZXF1ZXN0IGZvciBmZWVkYmFjazoK LS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpXZSBhcmVuJ3QgbWFycmllZCB0byBhbnkgb2YgdGhlIGFw cHJvYWNoZXMgb3V0bGluZWQgYWJvdmUuIE91ciBnb2FsIGlzIHRvCm9idGFpbiBhIG1lY2hhbmlz bSB0aGF0IHdpbGwgYWxsb3cgdXMgdG8gY29tcGxldGUgdGhlIHJlcHJvamVjdGlvbiBqb2Igd2l0 aGluIGEKcHJlZGljdGFibGUgYW1vdW50IG9mIHRpbWUuIFNvIGlmIGFueW9uZSBhbnlvbmUgaGFz IGFueSBzdWdnZXN0aW9ucyBmb3IKaW1wcm92ZW1lbnRzIG9yIGFsdGVybmF0aXZlIHN0cmF0ZWdp ZXMgd2UgYXJlIG1vcmUgdGhhbiBoYXBweSB0byBoZWFyIHRoZW0uCgpJZiBhbnkgb2YgdGhlIHRl Y2huaWNhbCBpbmZvcm1hdGlvbiBhYm92ZSBpcyBhbHNvIGluY29ycmVjdCwgZmVlbCBmcmVlIHRv IHBvaW50Cm91dCBteSBtaXN1bmRlcnN0YW5kaW5ncy4KCkxvb2tpbmcgZm9yd2FyZCB0byBoZWFy aW5nIGZyb20geW91LgoKUmVnYXJkcywKQW5kcmVzCgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwphbWQtZ2Z4IG1haWxpbmcgbGlzdAphbWQtZ2Z4QGxpc3Rz LmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2FtZC1nZngKCgphbWQtZ2Z4IEluZm8gUGFnZSAtIGxpc3RzLmZyZWVkZXNrdG9wLm9y ZwpsaXN0cy5mcmVlZGVza3RvcC5vcmcKVG8gc2VlIHRoZSBjb2xsZWN0aW9uIG9mIHByaW9yIHBv c3RpbmdzIHRvIHRoZSBsaXN0LCB2aXNpdCB0aGUgYW1kLWdmeCBBcmNoaXZlcy4gVXNpbmcgYW1k LWdmeDogVG8gcG9zdCBhIG1lc3NhZ2UgdG8gYWxsIHRoZSBsaXN0IG1lbWJlcnMsIHNlbmQgZW1h aWwgLi4uCgoKCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KYW1kLWdmeCBtYWlsaW5nIGxpc3QKYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0 cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9hbWQtZ2Z4Cg==