From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: <5458ABC7.2080201@ixblue.com> Date: Tue, 04 Nov 2014 11:34:47 +0100 From: Christophe Carton MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Subject: [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: xenomai@xenomai.org SGVsbG8sCgpJIGFtIGN1cnJlbnRseSB3b3JraW5nIHdpdGggWGVub21haSAyLjYuNCB3aXRoIG5h dGl2ZSBza2luIGFuZCB3aXRoIGEgCkxpbnV4IGtlcm5lbCAzLjE0LjE3LgpUaGUgbGludXggYW5k IHRoZSB4ZW5vbWFpIGhhdmUgYmVlbiB0YWtlbiBmcm9tIHRoZSBmb2xsb3dpbmcgR2l0IApyZXBv c2l0b3JpZXMgOgoqIGh0dHA6Ly9naXQueGVub21haS5vcmcveGVub21haS0yLjYuZ2l0IC0gdGFn IHYyLjYuNAoqIGh0dHA6Ly9naXQueGVub21haS5vcmcvaXBpcGUuZ2l0IC0gdGFnIGlwaXBlLWNv cmUtMy4xNC4xNy14ODYtNAoKSSBhbSBlbmNvdW50ZXJpbmcgYSBwcm9ibGVtIHRvIGVuYWJsZSB0 aGUgUm91bmQgUm9iaW4gc2NoZWR1bGVyIGluIGEgCnNwZWNpZmljIGNhc2UgOgoqIFR3byB0YXNr cyAoInJyIHRhc2sgMSIgYW5kICJyciB0YXNrIDIiKSBvZiBwcmlvcml0eSAxMCBhcmUgbGF1bmNo ZWQgYnkgCmEgdGFzayAoImluaXQgdGFzayIpIG9mIHByaW9yaXR5IDkwLgoqIEFsbCAzIG9mIHRo ZW0gYXJlIGNvbmZpZ3VyZWQgd2l0aCBhIFJSIHNjaGVkdWxlciB2aWEgInJ0X3Rhc2tfc2xpY2Ui IApBUEkgYmVmb3JlIHRoZXkgYXJlIHN0YXJ0ZWQuCkluIHRoaXMgY2FzZSB0aGUgRklGTyBzY2hl ZHVsaW5nIHNlZW1zIHRvIGJlIGFwcGxpZWQgKGNvdWxkIGJlIHNlZW4gdmlhIApydF9wcmludGYg bG9ncykuCgpJIGhhdmUgZm91bmQgYSB0aHJlYWQgb24gdGhlIG1haWxpbmcgbGlzdCB0aGF0IGdp dmVzIGFuIGV4YW1wbGUgCmRlbW9uc3RyYXRpbmcgdGhlIGdvb2QgYmVoYXZpb3Igb2YgdGhlIFJS IHNjaGVkdWxlci4KaHR0cDovL3d3dy54ZW5vbWFpLm9yZy9waXBlcm1haWwveGVub21haS8yMDEx LU5vdmVtYmVyLzAyNDg5Ny5odG1sCmh0dHA6Ly93d3cueGVub21haS5vcmcvcGlwZXJtYWlsL3hl bm9tYWkvMjAxMS1Ob3ZlbWJlci8wMjQ4OTkuaHRtbApUaGlzIGV4YW1wbGUgaW1wbGllcyB0aGF0 IHRoZSB0YXNrcyBhcmUgbG9ja2VkIHZpYSBhIHNlbWFwaG9yZSBhdCAKc3RhcnR1cCBhbmQgdGhh dCB0aGlzIHNlbWFwaG9yZSBpcyB1bmxvY2tlZCBieSB0aGUgbWFpbiB3aGVuIGFsbCB0aHJlYWRz IApoYXZlIGJlZW4gc3RhcnRlZC4KVGhpcyBpcyBuZWNlc3NhcnkgaW4gdGhpcyBjYXNlIGR1ZSB0 byB0aGUgZmFjdCB0aGF0IHRoZSBtYWluIGZ1bmN0aW9uIGlzIApubyBhbiBSVCB0YXNrLgoKVGhp cyBpbXBsZW1lbnRhdGlvbiAod2l0aCB0aGUgc2VtYXBob3JlKSBhcHBsaWVkIHRvIG15IHRlc3Qg d29ya3MuIFdoeSAKaXMgdGhlIHNlbWFwaG9yZSBuZWVkZWQgaW4gbXkgY2FzZT8KVGhlIDIgUlQg bG93ZXIgcHJpb3JpdHkgKCJyciB0YXNrIDEiIGFuZCAicnIgdGFzayAyIikgcnVucyB3aGVuIG15 IGhpZ2ggCnByaW9yaXR5IHRhc2sgKCJpbml0IHRhc2siKSBpcyB3YWl0aW5nIG9uIHRoZSAicnRf dGFza19qb2luIi4gVGhleSBhcmUgCmFyZSBzbyBsYXVuY2hlZCBhdCB0aGUgInNhbWUgdGltZSIg d2l0aCBhIFJSIHNjaGVkdWxpbmcuIEJ1dCB0aGUgRklGTyAKc2NoZWR1bGluZyBzZWVtcyB0byBi ZSB0YWtlbiBpbnRvIGFjY291bnQgd2hlbiBJIGxvb2sgYXQgdGhlIGxvZ3MuLi4KV2VyZSBhbSBJ IHdyb25nPwoKWW91IGNvdWxkIGZpbmQgYXR0YWNoZWQgbXkgc291cmNlIGNvZGUuCgpCZXN0IHJl Z2FyZHMsCgotLSAKCipDaHJpc3RvcGhlIENhcnRvbiAqCgoKCi0tLS0tLS0tLS0tLS0tIG5leHQg cGFydCAtLS0tLS0tLS0tLS0tLQojaW5jbHVkZSA8c3RkbGliLmg+CiNpbmNsdWRlIDx1bmlzdGQu aD4KI2luY2x1ZGUgPHN5cy9tbWFuLmg+CiNpbmNsdWRlIDxtYXRoLmg+CiNpbmNsdWRlIDxhc3Nl cnQuaD4KCiNpbmNsdWRlIDx4ZW5vbWFpL25hdGl2ZS90aW1lci5oPgojaW5jbHVkZSA8eGVub21h aS9uYXRpdmUvdGFzay5oPgojaW5jbHVkZSA8eGVub21haS9uYXRpdmUvc2VtLmg+CgojaW5jbHVk ZSA8cnRkay5oPgoKI2RlZmluZSBOQl9UQVNLUyAoMlVMKQoKI2RlZmluZSBFWEVDVElNRV9OUyAo MTAwZTYpIC8vIDEwMCBtcwojZGVmaW5lIFdPUktUSU1FX05TICgxMDBlMykgLy8gMTAwIMOCwrVz CiNkZWZpbmUgQ1BVX0lEICgxKQpSVF9TRU0gc3luY2hyb19zZW07CgpSVElNRSBzbGljZSA9IDI7 IC8vcnRfdGltZXJfbnMydGlja3MoMjAwMDApOwoKc3RhdGljIHZvaWQgdGFzayh2b2lkICopCnsK LyoKCWludCBlcnI7CgllcnIgPSBydF9zZW1fcCgmc3luY2hyb19zZW0sIFRNX0lORklOSVRFKTsK CWlmICggZXJyICkKCXsKCQlydF9mcHJpbnRmKHN0ZGVyciwgIiVzLXJ0X3NlbV9wIGVycm9yICVk XG4iLCBfX0ZVTkNUSU9OX18sIGVycik7CgkJcmV0dXJuOwoJfQoqLwoJUlRfVEFTS19JTkZPIGN1 cnRhc2tpbmZvOwoJUlRfVEFTSyAqY3VydGFzayA9IG51bGxwdHI7CglydF90YXNrX2lucXVpcmUo Y3VydGFzaywgJmN1cnRhc2tpbmZvKTsKCWZvciggIDsgY3VydGFza2luZm8uZXhlY3RpbWUgPCBF WEVDVElNRV9OUyA7ICApCgl7CgkJcnRfdGltZXJfc3BpbihXT1JLVElNRV9OUyk7CgkJLy8gZHVt bXkgYXZlcmFnZSBwcm9jZXNzaW5nCgkJcnRfdGFza19pbnF1aXJlKGN1cnRhc2ssICZjdXJ0YXNr aW5mbyk7CgkJUlRJTUUgdGltZXBvaW50ID0gcnRfdGltZXJfcmVhZCgpOwoJCXJ0X3ByaW50ZigK CQkJCSIlbHUgUnVubmluZyBbJXNdIHByaW9yaXR5IFslZF0gYXQgOiBbJWx1IG5zXVxuIiwKCQkJ CXRpbWVwb2ludCwKCQkJCWN1cnRhc2tpbmZvLm5hbWUsCgkJCQljdXJ0YXNraW5mby5jcHJpbywK CQkJCWN1cnRhc2tpbmZvLmV4ZWN0aW1lKTsKCX0KfQoKc3RhdGljIHZvaWQgaW5pdF90YXNrKHZv aWQgKikKewoJUlRfVEFTSyB0YXNrX2Rlc2NfMSwgdGFza19kZXNjXzI7CglpbnQgZXJyOwoKCWVy ciA9IHJ0X3Rhc2tfc2xpY2UoIG51bGxwdHIsIHNsaWNlICk7CglpZiAoIGVyciApCgl7CgkJcnRf ZnByaW50ZihzdGRlcnIsICIlcy1ydF90YXNrX3NsaWNlIGVycm9yICVkXG4iLCBfX0ZVTkNUSU9O X18sIGVycik7CgkJcmV0dXJuOwoJfQoKCWVyciA9IHJ0X3Rhc2tfY3JlYXRlICggJnRhc2tfZGVz Y18xLCAicnIgdGFzayAxIiwgMCwgMTAsIFRfSk9JTkFCTEUgfCBUX0NQVShDUFVfSUQpICk7Cglp ZiAoIGVyciApCgl7CgkJcnRfZnByaW50ZihzdGRlcnIsICIlcy1ydF90YXNrX2NyZWF0ZSBlcnJv ciAlZFxuIiwgX19GVU5DVElPTl9fLCBlcnIpOwoJCXJldHVybjsKCX0KCgllcnIgPSBydF90YXNr X2NyZWF0ZSAoICZ0YXNrX2Rlc2NfMiwgInJyIHRhc2sgMiIsIDAsIDEwLCBUX0pPSU5BQkxFIHwg VF9DUFUoQ1BVX0lEKSApOwoJaWYgKCBlcnIgKQoJewoJCXJ0X2ZwcmludGYoc3RkZXJyLCAiJXMt cnRfdGFza19jcmVhdGUgZXJyb3IgJWRcbiIsIF9fRlVOQ1RJT05fXywgZXJyKTsKCQlyZXR1cm47 Cgl9CgoJcnRfcHJpbnRmKCJzbGljZSB0aWNrcyA9ICVsdVxuIiwgc2xpY2UpOwoJZXJyID0gcnRf dGFza19zbGljZSggJnRhc2tfZGVzY18xLCBzbGljZSApOwoJaWYgKCBlcnIgKQoJewoJCXJ0X2Zw cmludGYoc3RkZXJyLCAiJXMtcnRfdGFza19zbGljZSBlcnJvciAlZFxuIiwgX19GVU5DVElPTl9f LCBlcnIpOwoJCXJldHVybjsKCX0KCgllcnIgPSBydF90YXNrX3NsaWNlKCAmdGFza19kZXNjXzIs IHNsaWNlICk7CglpZiAoIGVyciApCgl7CgkJcnRfZnByaW50ZihzdGRlcnIsICIlcy1ydF90YXNr X3NsaWNlIGVycm9yICVkXG4iLCBfX0ZVTkNUSU9OX18sIGVycik7CgkJcmV0dXJuOwoJfQoKCWVy ciA9IHJ0X3Rhc2tfc3RhcnQoICZ0YXNrX2Rlc2NfMSwgJnRhc2ssIG51bGxwdHIgKTsKCWlmICgg ZXJyICkKCXsKCQlydF9mcHJpbnRmKHN0ZGVyciwgIiVzLXJ0X3Rhc2tfc3RhcnQgZXJyb3IgJWRc biIsIF9fRlVOQ1RJT05fXywgZXJyKTsKCQlyZXR1cm47Cgl9CgoJZXJyID0gcnRfdGFza19zdGFy dCggJnRhc2tfZGVzY18yLCAmdGFzaywgbnVsbHB0ciApOwoJaWYgKCBlcnIgKQoJewoJCXJ0X2Zw cmludGYoc3RkZXJyLCAiJXMtcnRfdGFza19zdGFydCBlcnJvciAlZFxuIiwgX19GVU5DVElPTl9f LCBlcnIpOwoJCXJldHVybjsKCX0KCglydF9wcmludGYoIkxhdW5jaCEhIVxuIik7CgllcnIgPSBy dF9zZW1fYnJvYWRjYXN0KCZzeW5jaHJvX3NlbSk7CglpZiAoIGVyciApCgl7CgkJcnRfZnByaW50 ZihzdGRlcnIsICIlcy1ydF9zZW1fYnJvYWRjYXN0IGVycm9yICVkXG4iLCBfX0ZVTkNUSU9OX18s IGVycik7CgkJcmV0dXJuOwoJfQoJcnRfcHJpbnRmKCJMYXVuY2hlZCEhIVxuIik7CgoJcnRfdGFz a19qb2luKCAmdGFza19kZXNjXzEgKTsKCXJ0X3Rhc2tfam9pbiggJnRhc2tfZGVzY18yICk7Cn0K CmludCBtYWluIChpbnQgYXJnYywgY2hhciogYXJndltdKQp7Cgkodm9pZClhcmdjOwoJKHZvaWQp YXJndjsKCVJUX1RBU0sgaW5pdF90YXNrX2Rlc2M7CgkKCWludCBlcnI9MDsKCgllcnIgPSBtbG9j a2FsbCggTUNMX0NVUlJFTlQgfCBNQ0xfRlVUVVJFICk7CglpZiggZXJyIDwgMCApCgl7CgkJcGVy cm9yKCJtbG9ja2FsbCIpOwoJCXJldHVybiBFWElUX0ZBSUxVUkU7Cgl9CgoJcnRfcHJpbnRfYXV0 b19pbml0KDEpOwoKCS8vIHNlbWFwaG9yZSB0byBzeW5jIHRhc2sgc3RhcnR1cCBvbgoJZXJyID0g cnRfc2VtX2NyZWF0ZSgmc3luY2hyb19zZW0sICJTeW5jaHJvIHNlbSIsIDAsIFNfRklGTyk7Cglp ZiAoIGVyciApCgl7CgkJcnRfZnByaW50ZihzdGRlcnIsICIlcy1ydF9zZW1fY3JlYXRlIGVycm9y ICVkXG4iLCBfX0ZVTkNUSU9OX18sIGVycik7CgkJcmV0dXJuIDE7Cgl9CgoJZXJyID0gcnRfdGFz a19zaGFkb3coIG51bGxwdHIsICJtYWluIiwgOTUsIFRfQ1BVKDEpICk7CglpZiAoIGVyciApCgl7 CgkJcnRfZnByaW50ZihzdGRlcnIsICIlcy1ydF90YXNrX3NoYWRvdyBlcnJvciAlZFxuIiwgX19G VU5DVElPTl9fLCBlcnIpOwoJCXJldHVybiAxOwoJfQoJZXJyID0gcnRfdGFza19zZXRfbW9kZSgw LCBUX0NPTkZPUk1JTkcsIG51bGxwdHIpOwoJaWYgKCBlcnIgKQoJewoJCXJ0X2ZwcmludGYoc3Rk ZXJyLCAiJXMtcnRfdGFza19zZXRfbW9kZSBlcnJvciAlZFxuIiwgX19GVU5DVElPTl9fLCBlcnIp OwoJCXJldHVybiAxOwoJfQoKCWVyciA9IHJ0X3Rhc2tfY3JlYXRlICggJmluaXRfdGFza19kZXNj LCAiaW5pdCB0YXNrIiwgMCwgOTAsIFRfSk9JTkFCTEUgfCBUX0NQVShDUFVfSUQpICk7CglpZiAo IGVyciApCgl7CgkJcnRfZnByaW50ZihzdGRlcnIsICIlcy1ydF90YXNrX2NyZWF0ZSBlcnJvciAl ZFxuIiwgX19GVU5DVElPTl9fLCBlcnIpOwoJCXJldHVybiAxOwoJfQoKCWVyciA9IHJ0X3Rhc2tf c2xpY2UoICZpbml0X3Rhc2tfZGVzYywgc2xpY2UgKTsKCWlmICggZXJyICkKCXsKCQlydF9mcHJp bnRmKHN0ZGVyciwgIiVzLXJ0X3Rhc2tfc2xpY2UgZXJyb3IgJWRcbiIsIF9fRlVOQ1RJT05fXywg ZXJyKTsKCQlyZXR1cm4gMTsKCX0KCgllcnIgPSBydF90YXNrX3N0YXJ0KCAmaW5pdF90YXNrX2Rl c2MsICZpbml0X3Rhc2ssIG51bGxwdHIgKTsKCWlmICggZXJyICkKCXsKCQlydF9mcHJpbnRmKHN0 ZGVyciwgIiVzLXJ0X3Rhc2tfc3RhcnQgZXJyb3IgJWRcbiIsIF9fRlVOQ1RJT05fXywgZXJyKTsK CQlyZXR1cm4gMTsKCX0KCglydF90YXNrX2pvaW4oICZpbml0X3Rhc2tfZGVzYyApOwoJZXJyID0g cnRfc2VtX2RlbGV0ZSgmc3luY2hyb19zZW0pOwoJaWYgKCBlcnIgKQoJewoJCXJ0X2ZwcmludGYo c3RkZXJyLCAiJXMtcnRfc2VtX2RlbGV0ZSBlcnJvciAlZFxuIiwgX19GVU5DVElPTl9fLCBlcnIp OwoJCXJldHVybiAxOwoJfQoKCXJldHVybiBFWElUX1NVQ0NFU1M7Cn0K