From mboxrd@z Thu Jan 1 00:00:00 1970 From: George Dunlap Subject: Re: [PATCH] xen: sched: avoid races on time values read from NOW() Date: Thu, 19 May 2016 10:26:51 +0100 Message-ID: <573D86DB.1060802@citrix.com> References: <146364370619.5283.5027289751613289080.stgit@Solace.fritz.box> <146364549356.5283.1620067333752375115.stgit@Solace.fritz.box> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta5.messagelabs.com ([195.245.231.135]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1b3KEu-0002mS-Mp for xen-devel@lists.xenproject.org; Thu, 19 May 2016 09:27:32 +0000 In-Reply-To: <146364549356.5283.1620067333752375115.stgit@Solace.fritz.box> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Dario Faggioli , xen-devel@lists.xenproject.org Cc: Meng Xu , Wei Liu List-Id: xen-devel@lists.xenproject.org T24gMTkvMDUvMTYgMDk6MTEsIERhcmlvIEZhZ2dpb2xpIHdyb3RlOgo+IG9yIChldmVuIGluIGNh c2VzIHdoZXJlIHRoZXJlIGlzIG5vIHJhY2UsIGUuZy4sIG91dHNpZGUKPiBvZiBDcmVkaXQyKSBh dm9pZCB1c2luZyBhIHRpbWUgc2FtcGxlIHdoaWNoIG1heSBiZSByYXRoZXIKPiBvbGQsIGFuZCBo ZW5jZSBzdGFsZS4KPiAKPiBJbiBmYWN0LCB3ZSBzaG91bGQgb25seSBzYW1wbGUgTk9XKCkgZnJv bSBfaW5zaWRlXwo+IHRoZSBjcml0aWNhbCByZWdpb24gd2l0aGluIHdoaWNoIHRoZSB2YWx1ZSB3 ZSByZWFkIGlzCj4gdXNlZC4gSWYgd2UgZG9uJ3QsIGluIGNhc2Ugd2UgaGF2ZSB0byBzcGluIGZv ciBhIHdoaWxlCj4gYmVmb3JlIGVudGVyaW5nIHRoZSByZWdpb24sIHdoZW4gYWN0dWFsbHkgdXNp bmcgaXQ6Cj4gCj4gIDEpIHdlIHdpbGwgdXNlIHNvbWV0aGluZyB0aGF0LCBhdCB0aGUgdmVyeXkg bGVhc3QsIGlzCj4gICAgIG5vdCByZWFsbHkgIm5vdyIsIGJlY2F1c2Ugb2YgdGhlIHNwaW5uaW5n LAo+IAo+ICAyKSBpZiBzb21lb25lIGVsc2Ugc2FtcGxlZCBOT1coKSBkdXJpbmcgYSBjcml0aWNh bAo+ICAgICByZWdpb24gcHJvdGVjdGVkIGJ5IHRoZSBsb2NrIHdlIGFyZSBzcGlubmluZyBvbiwK PiAgICAgYW5kIGlmIHdlIGNvbXBhcmUgdGhlIHR3byBzYW1wbGVzIHdoZW4gd2UgZ2V0Cj4gICAg IGluc2lkZSBvdXIgcmVnaW9uLCBvdXIgb25lIHdpbGwgYmUgJ2VhcmxpZXInLAo+ICAgICBldmVu IGlmIHdlIGFjdHVhbGx5IGFycml2ZWQgbGF0ZXIsIHdoaWNoIGlzIGEKPiAgICAgcmFjZS4KPiAK PiBJbiBDcmVkaXQyLCB3ZSBzZWUgYW4gaW5zdGFuY2Ugb2YgMiksIGluIHJ1bnFfdGlja2xlKCks Cj4gd2hlbiBpdCBpcyBjYWxsZWQgYnkgY3NjaGVkMl9jb250ZXh0X3NhdmVkKCkgYXMgaXQgc2Ft cGxlcwo+IE5PVygpIGJlZm9yZSBhY3F1aXJpbmcgdGhlIHJ1bnEgbG9jay4gVGhpcyBtYWtlcyB0 aGluZ3MKPiBsb29rIGxpa2UgdGhlIHRpbWUgd2VudCBiYWNrd2FyZHMsIGFuZCBpdCBjb25mdXNl cyB0aGUKPiBhbGdvcml0aG0gKHRoZXJlJ3MgZXZlbiBhIGQycHJpbnRrKCkgYWJvdXQgaXQsIHdo aWNoIHdvdWxkCj4gdHJpZ2dlciBhbGwgdGhlIHRpbWUsIGlmIGVuYWJsZWQpLgo+IAo+IEluIFJU RFMsIHNvbWV0aGluZyBzaW1pbGFyIGhhcHBlbnMgaW4gcmVwbF90aW1lcl9oYW5kbGVyKCksCj4g YW5kIHRoZXJlJ3MgYW5vdGhlciBpbnN0YW5jZSBpbiBzY2hlZHVsZSgpIChpbiBnZW5lcmljIGNv ZGUpLAo+IHNvIGZpeCB0aGVzZSBjYXNlcyB0b28uCj4gCj4gV2hpbGUgdGhlcmUsIGltcHJvdmUg Y3NjaGVkMl92Y3B1X3dha2UoKSBhbmQgYW5kIHJ0X3ZjcHVfd2FrZSgpCj4gYSBsaXR0bGUgYXMg d2VsbCAocmVtb3ZpbmcgYSBwb2ludGxlc3MgaW5pdGlhbGl6YXRpb24sIGFuZAo+IG1vdmluZyB0 aGUgc2FtcGxpbmcgYSBiaXQgY2xvc2VyIHRvIGl0cyB1c2UpLiBUaGVzZSB0d28gaHVua3MKPiBl bnRhaWwgbm8gZnVydGhlciBmdW5jdGlvbmFsIGNoYW5nZXMuCj4gCj4gU2lnbmVkLW9mZi1ieTog RGFyaW8gRmFnZ2lvbGkgPGRhcmlvLmZhZ2dpb2xpQGNpdHJpeC5jb20+CgpSZXZpZXdlZC1ieTog R2VvcmdlIER1bmxhcCA8Z2VvcmdlLmR1bmxhcEBjaXRyaXguY29tPgoKSSBhZ3JlZSB0aGlzIGlz IGEgZmFpcmx5IGxvdy1yaXNrIGJ1Z2ZpeCB0aGF0IHNob3VsZCBiZSBjb25zaWRlcmVkIGZvciA0 LjcuCgogLUdlb3JnZQoKPiAtLS0KPiBDYzogR2VvcmdlIER1bmxhcCA8Z2VvcmdlLmR1bmxhcEBj aXRyaXguY29tPgo+IENjOiBNZW5nIFh1IDxtZW5neHVAY2lzLnVwZW5uLmVkdT4KPiBDYzogV2Vp IExpdSA8d2VpLmxpdUBjaXRyaXguY29tPgo+IC0tLQo+ICB4ZW4vY29tbW9uL3NjaGVkX2NyZWRp dDIuYyB8ICAgIDQgKystLQo+ICB4ZW4vY29tbW9uL3NjaGVkX3J0LmMgICAgICB8ICAgIDcgKysr KystLQo+ICB4ZW4vY29tbW9uL3NjaGVkdWxlLmMgICAgICB8ICAgIDQgKysrLQo+ICAzIGZpbGVz IGNoYW5nZWQsIDEwIGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdp dCBhL3hlbi9jb21tb24vc2NoZWRfY3JlZGl0Mi5jIGIveGVuL2NvbW1vbi9zY2hlZF9jcmVkaXQy LmMKPiBpbmRleCBmOTVlNTA5Li4xOTMzZmYxIDEwMDY0NAo+IC0tLSBhL3hlbi9jb21tb24vc2No ZWRfY3JlZGl0Mi5jCj4gKysrIGIveGVuL2NvbW1vbi9zY2hlZF9jcmVkaXQyLmMKPiBAQCAtMTAy OCw3ICsxMDI4LDcgQEAgc3RhdGljIHZvaWQKPiAgY3NjaGVkMl92Y3B1X3dha2UoY29uc3Qgc3Ry dWN0IHNjaGVkdWxlciAqb3BzLCBzdHJ1Y3QgdmNwdSAqdmMpCj4gIHsKPiAgICAgIHN0cnVjdCBj c2NoZWQyX3ZjcHUgKiBjb25zdCBzdmMgPSBDU0NIRUQyX1ZDUFUodmMpOwo+IC0gICAgc190aW1l X3Qgbm93ID0gMDsKPiArICAgIHNfdGltZV90IG5vdzsKPiAgCj4gICAgICAvKiBTY2hlZHVsZSBs b2NrIHNob3VsZCBiZSBoZWxkIGF0IHRoaXMgcG9pbnQuICovCj4gIAo+IEBAIC0xMDg1LDggKzEw ODUsOCBAQCBzdGF0aWMgdm9pZAo+ICBjc2NoZWQyX2NvbnRleHRfc2F2ZWQoY29uc3Qgc3RydWN0 IHNjaGVkdWxlciAqb3BzLCBzdHJ1Y3QgdmNwdSAqdmMpCj4gIHsKPiAgICAgIHN0cnVjdCBjc2No ZWQyX3ZjcHUgKiBjb25zdCBzdmMgPSBDU0NIRUQyX1ZDUFUodmMpOwo+IC0gICAgc190aW1lX3Qg bm93ID0gTk9XKCk7Cj4gICAgICBzcGlubG9ja190ICpsb2NrID0gdmNwdV9zY2hlZHVsZV9sb2Nr X2lycSh2Yyk7Cj4gKyAgICBzX3RpbWVfdCBub3cgPSBOT1coKTsKPiAgCj4gICAgICBCVUdfT04o ICFpc19pZGxlX3ZjcHUodmMpICYmIHN2Yy0+cnFkICE9IFJRRChvcHMsIHZjLT5wcm9jZXNzb3Ip KTsKPiAgCj4gZGlmZiAtLWdpdCBhL3hlbi9jb21tb24vc2NoZWRfcnQuYyBiL3hlbi9jb21tb24v c2NoZWRfcnQuYwo+IGluZGV4IGFhM2ZmZDIuLjA5NDYxMDEgMTAwNjQ0Cj4gLS0tIGEveGVuL2Nv bW1vbi9zY2hlZF9ydC5jCj4gKysrIGIveGVuL2NvbW1vbi9zY2hlZF9ydC5jCj4gQEAgLTExOTgs NyArMTE5OCw3IEBAIHN0YXRpYyB2b2lkCj4gIHJ0X3ZjcHVfd2FrZShjb25zdCBzdHJ1Y3Qgc2No ZWR1bGVyICpvcHMsIHN0cnVjdCB2Y3B1ICp2YykKPiAgewo+ICAgICAgc3RydWN0IHJ0X3ZjcHUg KiBjb25zdCBzdmMgPSBydF92Y3B1KHZjKTsKPiAtICAgIHNfdGltZV90IG5vdyA9IE5PVygpOwo+ ICsgICAgc190aW1lX3Qgbm93Owo+ICAgICAgYm9vbF90IG1pc3NlZDsKPiAgCj4gICAgICBCVUdf T04oIGlzX2lkbGVfdmNwdSh2YykgKTsKPiBAQCAtMTIyNSw2ICsxMjI1LDcgQEAgcnRfdmNwdV93 YWtlKGNvbnN0IHN0cnVjdCBzY2hlZHVsZXIgKm9wcywgc3RydWN0IHZjcHUgKnZjKQo+ICAgICAg ICogSWYgYSBkZWFkbGluZSBwYXNzZWQgd2hpbGUgc3ZjIHdhcyBhc2xlZXAvYmxvY2tlZCwgd2Ug bmVlZCBuZXcKPiAgICAgICAqIHNjaGVkdWxpbmcgcGFyYW1ldGVycyAoYSBuZXcgZGVhZGxpbmUg YW5kIGZ1bGwgYnVkZ2V0KS4KPiAgICAgICAqLwo+ICsgICAgbm93ID0gTk9XKCk7Cj4gIAo+ICAg ICAgbWlzc2VkID0gKCBub3cgPj0gc3ZjLT5jdXJfZGVhZGxpbmUgKTsKPiAgICAgIGlmICggbWlz c2VkICkKPiBAQCAtMTM5NCw3ICsxMzk1LDcgQEAgcnRfZG9tX2NudGwoCj4gICAqIGZyb20gdGhl IHJlcGxxIGFuZCBkb2VzIHRoZSBhY3R1YWwgcmVwbGVuaXNobWVudC4KPiAgICovCj4gIHN0YXRp YyB2b2lkIHJlcGxfdGltZXJfaGFuZGxlcih2b2lkICpkYXRhKXsKPiAtICAgIHNfdGltZV90IG5v dyA9IE5PVygpOwo+ICsgICAgc190aW1lX3Qgbm93Owo+ICAgICAgc3RydWN0IHNjaGVkdWxlciAq b3BzID0gZGF0YTsKPiAgICAgIHN0cnVjdCBydF9wcml2YXRlICpwcnYgPSBydF9wcml2KG9wcyk7 Cj4gICAgICBzdHJ1Y3QgbGlzdF9oZWFkICpyZXBscSA9IHJ0X3JlcGxxKG9wcyk7Cj4gQEAgLTE0 MDYsNiArMTQwNyw4IEBAIHN0YXRpYyB2b2lkIHJlcGxfdGltZXJfaGFuZGxlcih2b2lkICpkYXRh KXsKPiAgCj4gICAgICBzcGluX2xvY2tfaXJxKCZwcnYtPmxvY2spOwo+ICAKPiArICAgIG5vdyA9 IE5PVygpOwo+ICsKPiAgICAgIC8qCj4gICAgICAgKiBEbyB0aGUgcmVwbGVuaXNobWVudCBhbmQg bW92ZSByZXBsZW5pc2hlZCB2Y3B1cwo+ICAgICAgICogdG8gdGhlIHRlbXBvcmFyeSBsaXN0IHRv IHRpY2tsZS4KPiBkaWZmIC0tZ2l0IGEveGVuL2NvbW1vbi9zY2hlZHVsZS5jIGIveGVuL2NvbW1v bi9zY2hlZHVsZS5jCj4gaW5kZXggODBmZWEzOS4uNWUzNTMxMCAxMDA2NDQKPiAtLS0gYS94ZW4v Y29tbW9uL3NjaGVkdWxlLmMKPiArKysgYi94ZW4vY29tbW9uL3NjaGVkdWxlLmMKPiBAQCAtMTMy MCw3ICsxMzIwLDcgQEAgc3RhdGljIHZvaWQgdmNwdV9wZXJpb2RpY190aW1lcl93b3JrKHN0cnVj dCB2Y3B1ICp2KQo+ICBzdGF0aWMgdm9pZCBzY2hlZHVsZSh2b2lkKQo+ICB7Cj4gICAgICBzdHJ1 Y3QgdmNwdSAgICAgICAgICAqcHJldiA9IGN1cnJlbnQsICpuZXh0ID0gTlVMTDsKPiAtICAgIHNf dGltZV90ICAgICAgICAgICAgICBub3cgPSBOT1coKTsKPiArICAgIHNfdGltZV90ICAgICAgICAg ICAgICBub3c7Cj4gICAgICBzdHJ1Y3Qgc2NoZWR1bGVyICAgICAqc2NoZWQ7Cj4gICAgICB1bnNp Z25lZCBsb25nICAgICAgICAqdGFza2xldF93b3JrID0gJnRoaXNfY3B1KHRhc2tsZXRfd29ya190 b19kbyk7Cj4gICAgICBib29sX3QgICAgICAgICAgICAgICAgdGFza2xldF93b3JrX3NjaGVkdWxl ZCA9IDA7Cj4gQEAgLTEzNTUsNiArMTM1NSw4IEBAIHN0YXRpYyB2b2lkIHNjaGVkdWxlKHZvaWQp Cj4gIAo+ICAgICAgbG9jayA9IHBjcHVfc2NoZWR1bGVfbG9ja19pcnEoY3B1KTsKPiAgCj4gKyAg ICBub3cgPSBOT1coKTsKPiArCj4gICAgICBzdG9wX3RpbWVyKCZzZC0+c190aW1lcik7Cj4gICAg ICAKPiAgICAgIC8qIGdldCBwb2xpY3ktc3BlY2lmaWMgZGVjaXNpb24gb24gc2NoZWR1bGluZy4u LiAqLwo+IAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f Clhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xp c3RzLnhlbi5vcmcveGVuLWRldmVsCg==