From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: <545A302C.4080205@ixblue.com> Date: Wed, 05 Nov 2014 15:11:56 +0100 From: Christophe Carton MIME-Version: 1.0 References: <5458ABC7.2080201@ixblue.com> <5458BBC4.9080802@xenomai.org> <20141104114605.GB14961@sisyphus.hd.free.fr> <5458D32E.4020301@xenomai.org> <5458D96B.8000605@ixblue.com> <5458DD39.5040102@xenomai.org> <5458DDFC.9080608@ixblue.com> <545A090D.2030307@ixblue.com> <545A2734.9050108@xenomai.org> In-Reply-To: <545A2734.9050108@xenomai.org> Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Subject: Re: [Xenomai] Round robin scheduling seem not working in a specific case... List-Id: Discussions about the Xenomai project List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Philippe Gerum , xenomai@xenomai.org CkxlIDA1LzExLzIwMTQgMTQ6MzMsIFBoaWxpcHBlIEdlcnVtIGEgw6ljcml0IDoKPiBPbiAxMS8w NS8yMDE0IDEyOjI1IFBNLCBDaHJpc3RvcGhlIENhcnRvbiB3cm90ZToKPj4gTGUgMDQvMTEvMjAx NCAxNTowOSwgQ2hyaXN0b3BoZSBDYXJ0b24gYSDDqWNyaXQgOgo+Pj4gTGUgMDQvMTEvMjAxNCAx NTowNSwgUGhpbGlwcGUgR2VydW0gYSDDqWNyaXQgOgo+Pj4+IE9uIDExLzA0LzIwMTQgMDI6NDkg UE0sIENocmlzdG9waGUgQ2FydG9uIHdyb3RlOgo+Pj4+PiBMZSAwNC8xMS8yMDE0IDE0OjIyLCBQ aGlsaXBwZSBHZXJ1bSBhIMOpY3JpdCA6Cj4+Pj4+PiBPbiAxMS8wNC8yMDE0IDEyOjQ2IFBNLCBH aWxsZXMgQ2hhbnRlcGVyZHJpeCB3cm90ZToKPj4+Pj4+PiBPbiBUdWUsIE5vdiAwNCwgMjAxNCBh dCAxMjo0MzowMFBNICswMTAwLCBQaGlsaXBwZSBHZXJ1bSB3cm90ZToKPj4+Pj4+Pj4gT24gMTEv MDQvMjAxNCAxMTozNCBBTSwgQ2hyaXN0b3BoZSBDYXJ0b24gd3JvdGU6Cj4+Pj4+Pj4+PiBIZWxs bywKPj4+Pj4+Pj4+Cj4+Pj4+Pj4+PiBJIGFtIGN1cnJlbnRseSB3b3JraW5nIHdpdGggWGVub21h aSAyLjYuNCB3aXRoIG5hdGl2ZSBza2luIGFuZAo+Pj4+Pj4+Pj4gd2l0aCBhCj4+Pj4+Pj4+PiBM aW51eCBrZXJuZWwgMy4xNC4xNy4KPj4+Pj4+Pj4+IFRoZSBsaW51eCBhbmQgdGhlIHhlbm9tYWkg aGF2ZSBiZWVuIHRha2VuIGZyb20gdGhlIGZvbGxvd2luZyBHaXQKPj4+Pj4+Pj4+IHJlcG9zaXRv cmllcyA6Cj4+Pj4+Pj4+PiAqIGh0dHA6Ly9naXQueGVub21haS5vcmcveGVub21haS0yLjYuZ2l0 IC0gdGFnIHYyLjYuNAo+Pj4+Pj4+Pj4gKiBodHRwOi8vZ2l0Lnhlbm9tYWkub3JnL2lwaXBlLmdp dCAtIHRhZyBpcGlwZS1jb3JlLTMuMTQuMTcteDg2LTQKPj4+Pj4+Pj4+Cj4+Pj4+Pj4+PiBJIGFt IGVuY291bnRlcmluZyBhIHByb2JsZW0gdG8gZW5hYmxlIHRoZSBSb3VuZCBSb2JpbiBzY2hlZHVs ZXIKPj4+Pj4+Pj4+IGluIGEKPj4+Pj4+Pj4+IHNwZWNpZmljIGNhc2UgOgo+Pj4+Pj4+Pj4gKiBU d28gdGFza3MgKCJyciB0YXNrIDEiIGFuZCAicnIgdGFzayAyIikgb2YgcHJpb3JpdHkgMTAgYXJl Cj4+Pj4+Pj4+PiBsYXVuY2hlZCBieQo+Pj4+Pj4+Pj4gYSB0YXNrICgiaW5pdCB0YXNrIikgb2Yg cHJpb3JpdHkgOTAuCj4+Pj4+Pj4+PiAqIEFsbCAzIG9mIHRoZW0gYXJlIGNvbmZpZ3VyZWQgd2l0 aCBhIFJSIHNjaGVkdWxlciB2aWEKPj4+Pj4+Pj4+ICJydF90YXNrX3NsaWNlIgo+Pj4+Pj4+Pj4g QVBJIGJlZm9yZSB0aGV5IGFyZSBzdGFydGVkLgo+Pj4+Pj4+Pj4gSW4gdGhpcyBjYXNlIHRoZSBG SUZPIHNjaGVkdWxpbmcgc2VlbXMgdG8gYmUgYXBwbGllZCAoY291bGQgYmUgc2Vlbgo+Pj4+Pj4+ Pj4gdmlhCj4+Pj4+Pj4+PiBydF9wcmludGYgbG9ncykuCj4+Pj4+Pj4+Pgo+Pj4+Pj4+Pj4gSSBo YXZlIGZvdW5kIGEgdGhyZWFkIG9uIHRoZSBtYWlsaW5nIGxpc3QgdGhhdCBnaXZlcyBhbiBleGFt cGxlCj4+Pj4+Pj4+PiBkZW1vbnN0cmF0aW5nIHRoZSBnb29kIGJlaGF2aW9yIG9mIHRoZSBSUiBz Y2hlZHVsZXIuCj4+Pj4+Pj4+PiBodHRwOi8vd3d3Lnhlbm9tYWkub3JnL3BpcGVybWFpbC94ZW5v bWFpLzIwMTEtTm92ZW1iZXIvMDI0ODk3Lmh0bWwKPj4+Pj4+Pj4+IGh0dHA6Ly93d3cueGVub21h aS5vcmcvcGlwZXJtYWlsL3hlbm9tYWkvMjAxMS1Ob3ZlbWJlci8wMjQ4OTkuaHRtbAo+Pj4+Pj4+ Pj4gVGhpcyBleGFtcGxlIGltcGxpZXMgdGhhdCB0aGUgdGFza3MgYXJlIGxvY2tlZCB2aWEgYSBz ZW1hcGhvcmUgYXQKPj4+Pj4+Pj4+IHN0YXJ0dXAgYW5kIHRoYXQgdGhpcyBzZW1hcGhvcmUgaXMg dW5sb2NrZWQgYnkgdGhlIG1haW4gd2hlbiBhbGwKPj4+Pj4+Pj4+IHRocmVhZHMKPj4+Pj4+Pj4+ IGhhdmUgYmVlbiBzdGFydGVkLgo+Pj4+Pj4+Pj4gVGhpcyBpcyBuZWNlc3NhcnkgaW4gdGhpcyBj YXNlIGR1ZSB0byB0aGUgZmFjdCB0aGF0IHRoZSBtYWluCj4+Pj4+Pj4+PiBmdW5jdGlvbiBpcwo+ Pj4+Pj4+Pj4gbm8gYW4gUlQgdGFzay4KPj4+Pj4+Pj4+Cj4+Pj4+Pj4+PiBUaGlzIGltcGxlbWVu dGF0aW9uICh3aXRoIHRoZSBzZW1hcGhvcmUpIGFwcGxpZWQgdG8gbXkgdGVzdAo+Pj4+Pj4+Pj4g d29ya3MuIFdoeQo+Pj4+Pj4+Pj4gaXMgdGhlIHNlbWFwaG9yZSBuZWVkZWQgaW4gbXkgY2FzZT8K Pj4+Pj4+Pj4gaW5pdF90YXNrKCkgaXMgc3dpdGNoZWQgdG8gbm9uLXJ0IG1vZGUgYnkgcnRfdGFz a19jcmVhdGUoKSwgc28KPj4+Pj4+Pj4gdGhhdCBhCj4+Pj4+Pj4+IHJlZ3VsYXIgcHRocmVhZCBp cyBmaXJzdCBjcmVhdGVkIGJ5IHRoZSBnbGliYywgcHJpb3IgdG8gZXh0ZW5kaW5nIGl0Cj4+Pj4+ Pj4+IHdpdGggWGVub21haSBjYXBhYmlsaXRpZXMuIEluIDIuNi54LCB0aGlzIG9wZXJhdGlvbiBs ZWF2ZXMgdGhlCj4+Pj4+Pj4+IGNhbGxlcgo+Pj4+Pj4+PiAoaS5lLiBpbml0X3Rhc2soKSBpbiB5 b3VyIGNhc2UpIGluIHJlbGF4ZWQvc2Vjb25kYXJ5IG1vZGUsIHdoaWNoCj4+Pj4+Pj4+IG1lYW5z Cj4+Pj4+Pj4+IHRoYXQgaXQgaXMgYXNzaWduZWQgdGhlIGxvd2VzdCBwcmlvcml0eSBsZXZlbCBp biB0aGUgWGVub21haQo+Pj4+Pj4+PiBzY2hlZHVsZXIsCj4+Pj4+Pj4+IGJlbG93IHRoZSBSUiBj bGFzcy4KPj4+Pj4+Pj4KPj4+Pj4+Pj4gR2l2ZW4gdGhhdCwgaW4geW91ciBjb2RlLCBubyBYZW5v bWFpIHN5c2NhbGwgZm9sbG93aW5nIHRoZSBmaXJzdAo+Pj4+Pj4+PiBydF90YXNrX2NyZWF0ZSgp IGhhdmUgdGhlIHJlcXVpcmVtZW50IHRvIHN3aXRjaCB0aGUgY2FsbGVyIGJhY2sgdG8KPj4+Pj4+ Pj4gcHJpbWFyeS9ydCBtb2RlLCBpbmNsdWRpbmcgcnRfdGFza19zdGFydCgpIHdoaWNoIGlzIGlz c3VlZCBmb3IKPj4+Pj4+Pj4gdGFza18xLgo+Pj4+Pj4+PiBIZW5jZSBpbml0X3Rhc2soKSB3b24n dCBjb21wZXRlIHdpdGggdGFzaygpIHdoaWNoIGlzIGFzc2lnbmVkIHRoZQo+Pj4+Pj4+PiByZWFs LXRpbWUgUlIgcHJpb3JpdHkgeW91IGFza2VkIGZvciBvbiBlbnRyeS4KPj4+Pj4+Pj4KPj4+Pj4+ Pj4gSU9XLCBpZiB5b3UgZG9uJ3QgbWFrZSB0aGUgY2hpbGRyZW4gd2FpdCBvbiBhIGJhcnJpZXIg dW50aWwgdGhlCj4+Pj4+Pj4+IHBhcmVudAo+Pj4+Pj4+PiBoYXMgc2V0IHRoZSB3aG9sZSB0aGlu ZyB1cCwgdGhlIGZpcnN0IGNhbGwgdG8gcnRfdGFza19zdGFydCgpIHdpbGwKPj4+Pj4+Pj4gdW5s ZWFzaCB0YXNrXzEsIHdoaWNoIHdpbGwgaW4gdHVybiBzdGFydCBzcGlubmluZyBpbW1lZGlhdGVs eSBpbiBpdHMKPj4+Pj4+Pj4gd29yayBsb29wIGFzIGluaXRfdGFzaygpIGlzIG9uIGEgbG93ZXIg cHJpb3JpdHkgbGV2ZWwsIGxvY2tpbmcgdXAKPj4+Pj4+Pj4gQ1BVIzEuCj4+Pj4+Pj4+Cj4+Pj4+ Pj4gUmlnaHQuIFlvdSBjYW4gcHJvYmFibHkgYXZvaWQgdGhhdCBieSBlbmFibGluZyB0aGUgZGVw cmVjYXRlZCBvcHRpb24KPj4+Pj4+PiBDT05GSUdfWEVOT19PUFRfUFJJT0NQTCBpbiB0aGUga2Vy bmVsIGNvbmZpZ3VyYXRpb24uCj4+Pj4+Pj4KPj4+Pj4+IEkgd291bGQgbm90IHJlY29tbWVuZCB0 byByZWx5IG9uIHRoaXMgb3B0aW9uLCBhcyB5b3Uga25vdyB3ZSBraWxsZWQgaXQKPj4+Pj4+IGlu IDMueCBiZWNhdXNlIHdlIGNvdWxkIG5ldmVyIGhhdmUgaXQgd29ya2luZyAxMDAlIHJlbGlhYmx5 LiBUaGUgb25seQo+Pj4+Pj4gc2FuZSB3YXkgb3RoZXJ3aXNlIGlzIHRvIHN5bmNocm9uaXplIHRo ZSBwYXJlbnQgYW5kIHRoZSBjaGlsZCB0aHJlYWQKPj4+Pj4+IGludGVybmFsbHkgYXQgdGhyZWFk IGNyZWF0aW9uIHRvIHByZXNlcnZlIHRoZSBwcmlvcml0eSBvcmRlciwgd2l0aG91dAo+Pj4+Pj4g cmVxdWlyaW5nIHRoZSBzdGFydCBjYWxsIHRvIHN3aXRjaCB0byBzZWNvbmRhcnkgbW9kZSwgYnV0 IG9ubHkgMy54Cj4+Pj4+PiBpbXBsZW1lbnRzIHRoaXMuCj4+Pj4+Pgo+Pj4+PiBUaGFua3MgZm9y IHlvdXIgcmVwbGllcy4KPj4+Pj4gSSBkbyBub3cgdW5kZXJzdGFuZCB3aHkgbXkgY29kZSBleGFt cGxlIGlzIG5vdCB3b3JraW5nIGxpa2UgSSBzdXBwb3NlZAo+Pj4+PiBpdCBzaG91bGQgaGF2ZS4K Pj4+Pj4KPj4+Pj4gSXQgbG9va3MgbGlrZSBydF90YXNrX2NyZWF0ZSgpIGFuZCBydF90YXNrX3N0 YXJ0KCkgc3dpdGNoZXMgdGhlIGNhbGxlcgo+Pj4+PiBpbiByZWxheGVkL3NlY29uZGFyeSBtb2Rl LiBUaGlzIGV4cGxhaW5zIHRoZSBiZWhhdmlvciB0aGF0IEkgaGF2ZQo+Pj4+PiBub3RpY2VkLgo+ Pj4+PiBJIGhhdmUgcmVhZCB0aGUgZG94eWdlbiBkb2N1bWVudGF0aW9uIGFib3V0IHRob3NlIHR3 byBBUEkgYW5kIEkgZGlkIG5vdAo+Pj4+PiBmaW5kIHRoaXMgYmVoYXZpb3IgZXhwbGFpbmVkLgo+ Pj4+PiBIb3cgY291bGQgd2Uga25vdyB3aGljaCBBUEkgc3dpdGNoZXMgdGhlIGNhbGxlcidzIG1v ZGUgdG8gcHJpbWFyeS9ydCBvcgo+Pj4+PiB0byByZWxheGVkL3NlY29uZGFyeSBvciBtYXliZSBk b2VzIG5vdCBhZmZlY3QgdGhlIG1vZGU/Cj4+Pj4+Cj4+Pj4gVGhpcyBiZWhhdmlvciB3YXMgbm90 IGRvY3VtZW50ZWQgaW4gdGhlIDIuNi54IHNlcmllcywgd2hpY2ggaXMgY2xlYXJseQo+Pj4+IHVu Zm9ydHVuYXRlLiBBcyBhIHN1Z2dlc3Rpb24sIGhlcmUgaXMgZmFsbGJhY2sgb3B0aW9uIDoKPj4+ Pgo+Pj4+IC0gZmlyc3QgcmVmZXIgdG8gdGhlIDMueCBkb2N1bWVudGF0aW9uIGZvciB0aGUgc2Ft ZSBjYWxsLCBsb29raW5nIGZvcgo+Pj4+IHRoZSBzZXJ2aWNlICJUYWdzIiBzZWN0aW9uLCBlLmcu IGZvciBydF90YXNrX2NyZWF0ZSgpIHRoYXQgd291bGQgYmU6Cj4+Pj4gaHR0cDovL3d3dy54ZW5v bWFpLm9yZy9kb2N1bWVudGF0aW9uL3hlbm9tYWktMy9odG1sL3hlbm8zcHJtL2dyb3VwX19hbGNo ZW15X190YXNrLmh0bWwjZ2EwMzM4NzU1MDY5M2MyMWQwMjIzZjczOTU3MGNjZDk5Mgo+Pj4+Cj4+ Pj4gd2l0aCB0YWdzIG1lbnRpb25pbmcgInRocmVhZC11bnJlc3RyaWN0ZWQsIHN3aXRjaC1zZWNv bmRhcnkiLgo+Pj4+IENsaWNraW5nIG9uIHRoZSB0YWdzIHdpbGwgZ2V0IHlvdSB0aGUgZXhwbGFu YXRpb246Cj4+Pj4gaHR0cDovL3d3dy54ZW5vbWFpLm9yZy9kb2N1bWVudGF0aW9uL3hlbm9tYWkt My9odG1sL3hlbm8zcHJtL2FwaS10YWdzLmh0bWwKPj4+Pgo+Pj4+Cj4+Pj4gLSB0aGVuIGNyb3Nz LWNoZWNrIHdpdGggdGhlIDIueCAtPiAzLnggbWlncmF0aW9uIGluZm8gdGhhdCB0aGUKPj4+PiBk b2N1bWVudGVkIGJlaGF2aW9yIGRpZCBub3QgY2hhbmdlLCBvciBpbiB3aGljaCB3YXkgaXQgZGlk IGNoYW5nZS4gRm9yCj4+Pj4gdGhlIHRhc2stcmVsYXRlZCBzdHVmZiBmcm9tIHRoZSBBUEkgeW91 IGFyZSB1c2luZywgdGhlIGluZm8gd291bGQgYmUKPj4+PiB0aGVyZToKPj4+PiBodHRwOi8veGVu b21haS5vcmcvbWlncmF0aW5nLWZyb20teGVub21haS0yLXgtdG8tMy14LyNUYXNrX21hbmFnZW1l bnQKPj4+Pgo+Pj4+IFdlbGwsIG9rLiBJIGFncmVlIGluIGFkdmFuY2UgdGhhdCBpdCdzIG5vdCB0 aGF0IGhhbmR5Lgo+Pj4+Cj4+PiBPSy4KPj4+IEkgd2lsbCBkbyB3aXRoIHRoaXMgZmFsbGJhY2sg b3B0aW9uIGZvciB0aGUgbW9tZW50IHVudGlsIEkgbWlncmF0ZSB0bwo+Pj4gWGVub21haSAzLngu Cj4+PiBUaGFua3MgdG8gdGhlIHRlYW0gZm9yIHRoZSBxdWljayByZXBsaWVzLgo+Pj4KPj4+IEJl c3QgcmVnYXJkcywKPj4+Cj4+IEhpLAo+Pgo+PiBJIGhhdmUgdGFrZW4gaW50byBhY2NvdW50IHlv dXIgcHJldmlvdXMgcmVwbGllcyBhbmQgYWRkZWQgYWZ0ZXIKPj4gcnRfdGFza19jcmVhdGUoKSwg cnRfdGFza19zZXRfbW9kZSgwLCBUX0NPTkZPUk1JTkcsIG51bGxwdHIpIHRvIHNldAo+PiBpbml0 X3Rhc2soKSdzIG1vZGUgZnJvbSByZWxheGVkL3NlY29uZGFyeSBtb2RlIHRvIHByaW1hcnkvcnQg bW9kZS4KPj4gdGFza18xIGFuZCB0YXNrXzIgYXJlIGxhdW5jaGVkIHdoZW4gaW5pdF90YXNrKCkg Y2FsbHMgdGhlIHJ0X3Rhc2tfam9pbigpCj4+IHdoaWNoIGlzIHRoZSB3YWl0ZWQgYmVoYXZpb3Iu Cj4+IE5ldmVydGhlbGVzcywgdGhleSBhcmUgYXJlIHN0aWxsIG5vdCBzY2hlZHVsZWQgaW4gUlIu Li4KPj4gQXMgaW5pdF90YXNrKCkgaXMgaW4gcHJpbWFyeS9ydCBtb2RlIGFuZCBvZiBoaWdoZXIg cHJpb3JpdHkgdGhhbiB0YXNrXzEKPj4gYW5kIHRhc2tfMiwgc2hvdWxkbid0IHdlIGhhdmUgdGFz a18xIGFuZCB0YXNrXzIgbGF1bmNoZWQgImF0IHRoZSBzYW1lCj4+IHRpbWUiIGFuZCBzY2hlZHVs ZWQgaW4gUlI/Cj4gTm8uIEFzIEkgbWVudGlvbmVkIGluIG15IHByZXZpb3VzIHJlcGx5IG9uIHRo aXMgaXNzdWUsIHJ0X3Rhc2tfc3RhcnQoKQo+IGRvZXMgc3dpdGNoIHRvIHNlY29uZGFyeSBtb2Rl IGFzIHdlbGwuIFNpZGVub3RlOiBzd2l0Y2hpbmcgbW9kZXMKPiBtYW51YWxseSB2aWEgcnRfdGFz a19zZXRfbW9kZSgpIGZyb20gdGhlIGFwcGxpY2F0aW9uIGNvZGUgaXMgYWxtb3N0Cj4gYWx3YXlz IGEgYmFkIGlkZWEuIFRoZSBrZXJuZWwga25vd3MgYmV0dGVyIHdoZW4gZG9pbmcgc28gaXMgcmVx dWlyZWQgYW5kCj4gZWZmaWNpZW50OyByYWlzaW5nIHRoZSBjb25mb3JtaW5nIGZsYWcgaXMgbm9y bWFsbHkgcmVzZXJ2ZWQgdG8gaW50ZXJuYWwKPiBsaWJyYXJ5IGNvZGUuCj4KCkh1bS4uLgpUaGVu IEkgc3RpbGwgaGF2ZSBhIHByb2JsZW0uIE15IGxvZ3MgZG9lcyBub3QgZGVtb25zdHJhdGUgdGhp cyBiZWhhdmlvci4KSWYgcnRfdGFza19zdGFydCgpIHN3aXRjaGVzIHRoZSBjYWxsZXIgdG8gc2Vj b25kYXJ5IG1vZGUsIEkgc2hvdWxkIHNlZSAKaW4gbXkgbG9ncyA6CiogTG9ncyByZWxhdGVkIHRv IHRoZSBiZWdpbm5pbmcgb2YgaW5pdF90YXNrKCksCiogTG9ncyByZWxhdGVkIHRvIHRhc2tfMSgp LCAoaW5pdF90YXNrIGluIHNlY29uZGFyeSBtb2RlID0+IGxvd2VzdCBsZXZlbCkKKiBMb2dzIHJl bGF0ZWQgdGFza18yKCksCiogTG9ncyByZWxhdGVkIHRvIHRoZSBlbmQgb2YgaW5pdF90YXNrKCku CkJ1dCwgbG9ncyBvZiB0YXNrXzEgYW5kIHRhc2tfMigpIGFyZSBkaXNwbGF5ZWQgYWZ0ZXIgYWxs IHRoZSBsb2dzIG9mIAppbml0X3Rhc2soKS4KCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBT dGFydCBvZiBsb2cgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiotLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qCiogU3RlcCAxIC0gc3RhcnQgb2YgaW5pdF90YXNrKCkg PT4gT0sKKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSoKW2luaXRfdGFz a10KICAgICAtIE1vZGUgc3dpdGNoZXMgPSAwCiAgICAgLSBCYXNlIFByaW8gICAgID0gOTAKICAg ICAtIEN1cnJlbnQgUHJpbyAgPSA5MApbcnRfdGFza19jcmVhdGUgMl0KICAgICAtIE1vZGUgc3dp dGNoZXMgPSAxCiAgICAgLSBCYXNlIFByaW8gICAgID0gOTAKICAgICAtIEN1cnJlbnQgUHJpbyAg PSA5MAoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKgoqIFN0ZXAgMiAt IGNhbGwgdG8gcnRfdGFza19zdGFydCgpIGRvbmUgaGVyZQoqIChUaGUgZm9sbG93aW5nIGxvZ3Mg YXJlIGdlbmVyYXRlZCBhZnRlciB0aGUgY2FsbCB0byBib3RoIHJ0X3Rhc2tfc3RhcnQoKSkKKi0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSoKW3J0X3Rhc2tfc3RhcnQgMl0K ICAgICAtIE1vZGUgc3dpdGNoZXMgPSAxCiAgICAgLSBCYXNlIFByaW8gICAgID0gOTAKICAgICAt IEN1cnJlbnQgUHJpbyAgPSA5MAoqLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKgoqIFN0ZXAgMyAtIHN0YXJ0IG9mIHRhc2tfMiBzdGFydHMgaGVyZSA9PiBLTz8gPT4gc2hv dWxkIGJlIGRvbmUgYmVmb3JlIApwcmV2aW91cyBsb2cgKGp1c3QgYWZ0ZXIgU3RlcCAyKS4uLiBu bz8KKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSoKW3Rhc2tdCiAgICAg LSBNb2RlIHN3aXRjaGVzID0gMAogICAgIC0gQmFzZSBQcmlvICAgICA9IDEwCiAgICAgLSBDdXJy ZW50IFByaW8gID0gMTAKMTQxNTgyMjQxODY1MzI5IFJ1bm5pbmcgW3JyIHRhc2sgMl0gcHJpb3Jp dHkgWzEwXSBhdCA6IFszMjgyNTAgbnNdCjE0MTU4MjI0MTg2NTU1OSBSdW5uaW5nIFtyciB0YXNr IDJdIHByaW9yaXR5IFsxMF0gYXQgOiBbNjUyMzE0IG5zXQoxNDE1ODIyNDE4NjU3OTEgUnVubmlu ZyBbcnIgdGFzayAyXSBwcmlvcml0eSBbMTBdIGF0IDogWzk3NjcyMSBuc10KMTQxNTgyMjQxODY2 MDIzIFJ1bm5pbmcgW3JyIHRhc2sgMl0gcHJpb3JpdHkgWzEwXSBhdCA6IFsxMzAwNjA3IG5zXQou Li4KMTQxNTgyMjQxOTA0Nzg2IFJ1bm5pbmcgW3JyIHRhc2sgMl0gcHJpb3JpdHkgWzEwXSBhdCA6 IFs1NTIyMDIyNyBuc10KMTQxNTgyMjQxOTA1MDE3IFJ1bm5pbmcgW3JyIHRhc2sgMl0gcHJpb3Jp dHkgWzEwXSBhdCA6IFs1NTUzNTgyNiBuc10KMTQxNTgyMjQxOTA1MjQ4IFJ1bm5pbmcgW3JyIHRh c2sgMl0gcHJpb3JpdHkgWzEwXSBhdCA6IFs1NTg1ODg1NyBuc10KMTQxNTgyMjQxOTA1NDc4IFJ1 bm5pbmcgW3JyIHRhc2sgMl0gcHJpb3JpdHkgWzEwXSBhdCA6IFs1NjE3NjM5NCBuc10KW3Rhc2td CiAgICAgLSBNb2RlIHN3aXRjaGVzID0gMAogICAgIC0gQmFzZSBQcmlvICAgICA9IDEwCiAgICAg LSBDdXJyZW50IFByaW8gID0gMTAKMTQxNTgyMjQxOTM3MzUzIFJ1bm5pbmcgW3JyIHRhc2sgMV0g cHJpb3JpdHkgWzEwXSBhdCA6IFszNjkzNDEgbnNdCjE0MTU4MjI0MTkzNzU4MCBSdW5uaW5nIFty ciB0YXNrIDFdIHByaW9yaXR5IFsxMF0gYXQgOiBbNzA5MTc3IG5zXQoxNDE1ODIyNDE5Mzc4MDgg UnVubmluZyBbcnIgdGFzayAxXSBwcmlvcml0eSBbMTBdIGF0IDogWzEwMzgzNTggbnNdCjE0MTU4 MjI0MTkzODAzOCBSdW5uaW5nIFtyciB0YXNrIDFdIHByaW9yaXR5IFsxMF0gYXQgOiBbMTM2MzIy OCBuc10KLi4uCjE0MTU4MjI0MjAwODM2NiBSdW5uaW5nIFtyciB0YXNrIDFdIHByaW9yaXR5IFsx MF0gYXQgOiBbOTkxMDU4MDQgbnNdCjE0MTU4MjI0MjAwODU5NCBSdW5uaW5nIFtyciB0YXNrIDFd IHByaW9yaXR5IFsxMF0gYXQgOiBbOTk0MzUyNzggbnNdCjE0MTU4MjI0MjAwODgyNSBSdW5uaW5n IFtyciB0YXNrIDFdIHByaW9yaXR5IFsxMF0gYXQgOiBbOTk3NTU0MjggbnNdCjE0MTU4MjI0MjAw OTA1NSBSdW5uaW5nIFtyciB0YXNrIDFdIHByaW9yaXR5IFsxMF0gYXQgOiBbMTAwMDcxMzE1IG5z XQoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIEVuZCBvZiBsb2cgLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tCgpNb3Jlb3ZlciwgbG9ncyBvZiB0YXNrXzIgYXJlIGRpc3BsYXllZCBiZWZv cmUgbG9ncyBvZiB0YXNrXzEuCgpCZXN0IHJlZ2FyZHMKCi0tIAoKKkNocmlzdG9waGUgQ2FydG9u ICoKCgotLS0tLS0tLS0tLS0tLSBuZXh0IHBhcnQgLS0tLS0tLS0tLS0tLS0KI2luY2x1ZGUgPHN0 ZGxpYi5oPgojaW5jbHVkZSA8dW5pc3RkLmg+CiNpbmNsdWRlIDxzeXMvbW1hbi5oPgojaW5jbHVk ZSA8bWF0aC5oPgojaW5jbHVkZSA8YXNzZXJ0Lmg+CgojaW5jbHVkZSA8eGVub21haS9uYXRpdmUv dGltZXIuaD4KI2luY2x1ZGUgPHhlbm9tYWkvbmF0aXZlL3Rhc2suaD4KI2luY2x1ZGUgPHhlbm9t YWkvbmF0aXZlL3NlbS5oPgoKI2luY2x1ZGUgPHJ0ZGsuaD4KCiNkZWZpbmUgTkJfVEFTS1MgKDJV TCkKCiNkZWZpbmUgRVhFQ1RJTUVfTlMgKDEwMGU2KSAvLyAxMDAgbXMKI2RlZmluZSBXT1JLVElN RV9OUyAoNTAwZTMpIC8vIDUwMCDDgsK1cwojZGVmaW5lIENQVV9JRCAoMSkKUlRfU0VNIHN5bmNo cm9fc2VtOwoKUlRJTUUgc2xpY2UgPSAyOyAvL3J0X3RpbWVyX25zMnRpY2tzKDIwMDAwKTsKCiNk ZWZpbmUgRVJST1JfTUdSKGZjdCkgXApkbyB7IFwKCWludCBlcnIgPSBmY3Q7IFwKCWlmICggZXJy ICE9IDAgKSBcCgl7IFwKCQlydF9mcHJpbnRmKHN0ZGVyciwgIiVzLSVzIGVycm9yICVkXG4iLCBf X0ZVTkNUSU9OX18sICNmY3QsIGVycik7IFwKCQlhYm9ydCgpOyBcCgl9IFwKfXdoaWxlKDApCgoj ZGVmaW5lIFRBU0tfSU5RVUlSRShzdHIpIFwKZG8gXAp7IFwKCVJUX1RBU0tfSU5GTyBpbmZvOyBc CglFUlJPUl9NR1IoIHJ0X3Rhc2tfaW5xdWlyZShudWxscHRyLCAmaW5mbykgKTsgXAoJcnRfcHJp bnRmKCBcCgkJIlslc11cbiIgXAoJCSJcdC0gTW9kZSBzd2l0Y2hlcyA9ICVkXG4iIFwKCQkiXHQt IEJhc2UgUHJpbyAgICAgPSAlZFxuIiBcCgkJIlx0LSBDdXJyZW50IFByaW8gID0gJWRcbiIsIFwK CQlzdHIsIFwKCQlpbmZvLm1vZGVzd2l0Y2hlcywgXAoJCWluZm8uYnByaW8sIGluZm8uY3ByaW8p OyBcCn0gd2hpbGUoMCkKCiNkZWZpbmUgVEFTSzJQUklNQVJZKCkgXApkbyB7IFwKCUVSUk9SX01H UiggcnRfdGFza19zZXRfbW9kZSgwLCBUX0NPTkZPUk1JTkcsIG51bGxwdHIpICk7IFwKfXdoaWxl KDApCgpzdGF0aWMgdm9pZCB0YXNrKHZvaWQgKikKewoJVEFTS19JTlFVSVJFKF9fRlVOQ1RJT05f Xyk7CgovLwlFUlJPUl9NR1IoIHJ0X3Rhc2tfc2xlZXAocnRfdGltZXJfbnMydGlja3MoNTAwMDAw MDAwKSkgKTsKLy8JRVJST1JfTUdSKCBydF9zZW1fcCgmc3luY2hyb19zZW0sIFRNX0lORklOSVRF KSApOwoKCVJUX1RBU0tfSU5GTyBjdXJ0YXNraW5mbzsKCVJUX1RBU0sgKmN1cnRhc2sgPSBudWxs cHRyOwoJRVJST1JfTUdSKCBydF90YXNrX2lucXVpcmUoY3VydGFzaywgJmN1cnRhc2tpbmZvKSAp OwoJZm9yKCAgOyBjdXJ0YXNraW5mby5leGVjdGltZSA8IEVYRUNUSU1FX05TIDsgICkKCXsKCQly dF90aW1lcl9zcGluKFdPUktUSU1FX05TKTsKCQkvLyBkdW1teSBhdmVyYWdlIHByb2Nlc3NpbmcK CQlFUlJPUl9NR1IoIHJ0X3Rhc2tfaW5xdWlyZShjdXJ0YXNrLCAmY3VydGFza2luZm8pICk7CgkJ UlRJTUUgdGltZXBvaW50ID0gcnRfdGltZXJfcmVhZCgpOwoJCXJ0X3ByaW50ZigKCQkJCSIlbHUg UnVubmluZyBbJXNdIHByaW9yaXR5IFslZF0gYXQgOiBbJWx1IG5zXVxuIiwKCQkJCXRpbWVwb2lu dCwKCQkJCWN1cnRhc2tpbmZvLm5hbWUsCgkJCQljdXJ0YXNraW5mby5jcHJpbywKCQkJCWN1cnRh c2tpbmZvLmV4ZWN0aW1lKTsKCX0KfQoKc3RhdGljIHZvaWQgaW5pdF90YXNrKHZvaWQgKikKewoJ UlRfVEFTSyB0YXNrX2Rlc2NfMSwgdGFza19kZXNjXzI7CgoJVEFTS19JTlFVSVJFKF9fRlVOQ1RJ T05fXyk7CgoJRVJST1JfTUdSKCBydF90YXNrX2NyZWF0ZSAoICZ0YXNrX2Rlc2NfMSwgInJyIHRh c2sgMSIsIDAsIDEwLCBUX0pPSU5BQkxFIHwgVF9DUFUoQ1BVX0lEKSApICk7CgoJRVJST1JfTUdS KCBydF90YXNrX2NyZWF0ZSAoICZ0YXNrX2Rlc2NfMiwgInJyIHRhc2sgMiIsIDAsIDEwLCBUX0pP SU5BQkxFIHwgVF9DUFUoQ1BVX0lEKSApICk7CglUQVNLX0lOUVVJUkUoInJ0X3Rhc2tfY3JlYXRl IDIiKTsKCVRBU0syUFJJTUFSWSgpOwoKLy8JcnRfcHJpbnRmKCJzbGljZSB0aWNrcyA9ICVsdVxu Iiwgc2xpY2UpOwoJRVJST1JfTUdSKCBydF90YXNrX3NsaWNlKCAmdGFza19kZXNjXzEsIHNsaWNl ICkgKTsKCglFUlJPUl9NR1IoIHJ0X3Rhc2tfc2xpY2UoICZ0YXNrX2Rlc2NfMiwgc2xpY2UgKSAp OwoKCUVSUk9SX01HUiggcnRfdGFza19zdGFydCggJnRhc2tfZGVzY18xLCAmdGFzaywgbnVsbHB0 ciApICk7CgoJRVJST1JfTUdSKCBydF90YXNrX3N0YXJ0KCAmdGFza19kZXNjXzIsICZ0YXNrLCBu dWxscHRyICkgKTsKCVRBU0tfSU5RVUlSRSgicnRfdGFza19zdGFydCAyIik7CgovLwlydF9wcmlu dGYoIkxhdW5jaCEhIVxuIik7Ci8vCXJ0X3Rhc2tfc2xlZXAocnRfdGltZXJfbnMydGlja3MoNTAw MDAwMDAwVUwpKTsKLy8JRVJST1JfTUdSKCBydF9zZW1fYnJvYWRjYXN0KCZzeW5jaHJvX3NlbSkg KTsKCglFUlJPUl9NR1IoIHJ0X3Rhc2tfam9pbiggJnRhc2tfZGVzY18xICkgKTsKCUVSUk9SX01H UiggcnRfdGFza19qb2luKCAmdGFza19kZXNjXzIgKSApOwp9CgppbnQgbWFpbiAoaW50IGFyZ2Ms IGNoYXIqIGFyZ3ZbXSkKewoJKHZvaWQpYXJnYzsKCSh2b2lkKWFyZ3Y7CglSVF9UQVNLIGluaXRf dGFza19kZXNjOwoJCglFUlJPUl9NR1IoIG1sb2NrYWxsKCBNQ0xfQ1VSUkVOVCB8IE1DTF9GVVRV UkUgKSApOwoKCXJ0X3ByaW50X2F1dG9faW5pdCgxKTsKCgkvLyBzZW1hcGhvcmUgdG8gc3luYyB0 YXNrIHN0YXJ0dXAgb24KCUVSUk9SX01HUiggcnRfc2VtX2NyZWF0ZSgmc3luY2hyb19zZW0sICJT eW5jaHJvIHNlbSIsIDAsIFNfRklGTykgKTsKCglFUlJPUl9NR1IoIHJ0X3Rhc2tfY3JlYXRlKCAm aW5pdF90YXNrX2Rlc2MsICJpbml0IHRhc2siLCAwLCA5MCwgVF9KT0lOQUJMRSB8IFRfQ1BVKENQ VV9JRCkgKSApOwoKCUVSUk9SX01HUiggcnRfdGFza19zbGljZSggJmluaXRfdGFza19kZXNjLCBz bGljZSApICk7CgoJRVJST1JfTUdSKCBydF90YXNrX3N0YXJ0KCAmaW5pdF90YXNrX2Rlc2MsICZp bml0X3Rhc2ssIG51bGxwdHIgKSApOwoKCUVSUk9SX01HUiggcnRfdGFza19qb2luKCAmaW5pdF90 YXNrX2Rlc2MgKSApOwoKCUVSUk9SX01HUiggcnRfc2VtX2RlbGV0ZSgmc3luY2hyb19zZW0pICk7 CgoJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKfQo=