From mboxrd@z Thu Jan 1 00:00:00 1970 From: Robert Foss Subject: [PATCH i-g-t v10 13/21] tests/sw_sync: Add subtest test_sync_multi_producer_single_consumer Date: Tue, 6 Dec 2016 21:52:05 -0500 Message-ID: <20161207025213.11669-14-robert.foss@collabora.com> References: <20161207025213.11669-1-robert.foss@collabora.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from bhuna.collabora.co.uk (bhuna.collabora.co.uk [46.235.227.227]) by gabe.freedesktop.org (Postfix) with ESMTPS id 31C186E52D for ; Wed, 7 Dec 2016 02:53:01 +0000 (UTC) In-Reply-To: <20161207025213.11669-1-robert.foss@collabora.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org, Gustavo Padovan , Daniel Stone , Daniel Vetter , Marius Vlad , Eric Engestrom , Chris Wilson , Tomeu Vizoso List-Id: intel-gfx@lists.freedesktop.org VGhpcyBzdWJ0ZXN0IHJ1bnMgYSBzaW5nbGUgY29uc3VtZXIgdGhyZWFkIGFuZCBtdWx0aXBsZSBw cm9kdWNlciB0aHJlYWQgdGhhdAphcmUgc3luY2hyb25pemVkIHVzaW5nIG11bHRpcGxlIHRpbWVs aW5lcy4KClNpZ25lZC1vZmYtYnk6IFJvYmVydCBGb3NzIDxyb2JlcnQuZm9zc0Bjb2xsYWJvcmEu Y29tPgpSZXZpZXdlZC1ieTogRXJpYyBFbmdlc3Ryb20gPGVyaWNAZW5nZXN0cm9tLmNoPgpSZXZp ZXdlZC1ieTogVG9tZXUgVml6b3NvIDx0b21ldS52aXpvc29AY29sbGFib3JhLmNvbT4KLS0tCiB0 ZXN0cy9zd19zeW5jLmMgfCAxMzkgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysKIDEgZmlsZSBjaGFuZ2VkLCAxMzkgaW5zZXJ0aW9ucygrKQoK ZGlmZiAtLWdpdCBhL3Rlc3RzL3N3X3N5bmMuYyBiL3Rlc3RzL3N3X3N5bmMuYwppbmRleCBiMGJk MmFkNC4uMTNhOTYwMmYgMTAwNjQ0Ci0tLSBhL3Rlc3RzL3N3X3N5bmMuYworKysgYi90ZXN0cy9z d19zeW5jLmMKQEAgLTQ1Nyw2ICs0NTcsMTQyIEBAIHN0YXRpYyB2b2lkIHRlc3Rfc3luY19tdWx0 aV9jb25zdW1lcl9wcm9kdWNlcih2b2lkKQogCWlndF9hc3NlcnRfZih0aHJlYWRfcmV0ID09IDAs ICJBIHN5bmMgdGhyZWFkIHJlcG9ydGVkIGZhaWx1cmUuXG4iKTsKIH0KIAorc3RhdGljIGludCB0 ZXN0X21zcGNfd2FpdF9vbl9mZW5jZShpbnQgZmVuY2UpCit7CisJaW50IGVycm9yLCBhY3RpdmU7 CisKKwlkbyB7CisJCWVycm9yID0gc3luY19mZW5jZV9jb3VudF9zdGF0dXMoZmVuY2UsCisJCQkJ CQkgICBTV19TWU5DX0ZFTkNFX1NUQVRVU19FUlJPUik7CisJCWlndF9hc3NlcnRfZihlcnJvciA9 PSAwLCAiRXJyb3Igb2NjdXJyZWQgb24gZmVuY2VcbiIpOworCQlhY3RpdmUgPSBzeW5jX2ZlbmNl X2NvdW50X3N0YXR1cyhmZW5jZSwKKwkJCQkJCSAgICBTV19TWU5DX0ZFTkNFX1NUQVRVU19BQ1RJ VkUpOworCX0gd2hpbGUgKGFjdGl2ZSk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHN0cnVj dCB7CisJaW50IGl0ZXJhdGlvbnM7CisJaW50IHRocmVhZHM7CisJaW50IGNvdW50ZXI7CisJaW50 IGNvbnNfdGltZWxpbmU7CisJaW50ICpwcm9kX3RpbWVsaW5lOworCXB0aHJlYWRfbXV0ZXhfdCBs b2NrOworfSB0ZXN0X21wc2NfZGF0YTsKKworc3RhdGljIGludCBtcHNjX3Byb2R1Y2VyX3RocmVh ZCh2b2lkICpkKQoreworCWludCBpZCA9IChsb25nKWQ7CisJaW50IGZlbmNlLCBpOworCWludCAq cHJvZF90aW1lbGluZSA9IHRlc3RfbXBzY19kYXRhLnByb2RfdGltZWxpbmU7CisJaW50IGNvbnNf dGltZWxpbmUgPSB0ZXN0X21wc2NfZGF0YS5jb25zX3RpbWVsaW5lOworCWludCBpdGVyYXRpb25z ID0gdGVzdF9tcHNjX2RhdGEuaXRlcmF0aW9uczsKKworCWZvciAoaSA9IDA7IGkgPCBpdGVyYXRp b25zOyBpKyspIHsKKwkJZmVuY2UgPSBzd19zeW5jX2ZlbmNlX2NyZWF0ZShjb25zX3RpbWVsaW5l LCBpKTsKKworCQkvKiBXYWl0IGZvciB0aGUgY29uc3VtZXIgdG8gZmluaXNoLiBVc2UgYWx0ZXJu YXRlCisJCSAqIG1lYW5zIG9mIHdhaXRpbmcgb24gdGhlIGZlbmNlCisJCSAqLworCQlpZiAoKGl0 ZXJhdGlvbnMgKyBpZCkgJSA4ICE9IDApIHsKKwkJCWlndF9hc3NlcnRfZihzeW5jX3dhaXQoZmVu Y2UsIC0xKSA9PSAwLAorCQkJCSAgICAgIkZhaWx1cmUgd2FpdGluZyBvbiBmZW5jZVxuIik7CisJ CX0gZWxzZSB7CisJCQlpZ3RfYXNzZXJ0X2YodGVzdF9tc3BjX3dhaXRfb25fZmVuY2UoZmVuY2Up ID09IDAsCisJCQkJICAgICAiRmFpbHVyZSB3YWl0aW5nIG9uIGZlbmNlXG4iKTsKKwkJfQorCisJ CS8qIEV2ZXJ5IHByb2R1Y2VyIGluY3JlbWVudHMgdGhlIGNvdW50ZXIsIHRoZSBjb25zdW1lcgor CQkgKiBjaGVja3MgYW5kIGVyYXNlcyBpdAorCQkgKi8KKwkJcHRocmVhZF9tdXRleF9sb2NrKCZ0 ZXN0X21wc2NfZGF0YS5sb2NrKTsKKwkJdGVzdF9tcHNjX2RhdGEuY291bnRlcisrOworCQlwdGhy ZWFkX211dGV4X3VubG9jaygmdGVzdF9tcHNjX2RhdGEubG9jayk7CisKKwkJc3dfc3luY190aW1l bGluZV9pbmMocHJvZF90aW1lbGluZVtpZF0sIDEpOworCQljbG9zZShmZW5jZSk7CisJfQorCisJ cmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgbXBzY19jb25zdW1lcl90aHJlYWQodm9pZCkKK3sK KwlpbnQgZmVuY2UsIG1lcmdlZCwgdG1wLCBpdCwgaTsKKwlpbnQgKnByb2RfdGltZWxpbmUgPSB0 ZXN0X21wc2NfZGF0YS5wcm9kX3RpbWVsaW5lOworCWludCBjb25zX3RpbWVsaW5lID0gdGVzdF9t cHNjX2RhdGEuY29uc190aW1lbGluZTsKKwlpbnQgaXRlcmF0aW9ucyA9IHRlc3RfbXBzY19kYXRh Lml0ZXJhdGlvbnM7CisJaW50IG4gPSB0ZXN0X21wc2NfZGF0YS50aHJlYWRzOworCisJZm9yIChp dCA9IDE7IGl0IDw9IGl0ZXJhdGlvbnM7IGl0KyspIHsKKwkJZmVuY2UgPSBzd19zeW5jX2ZlbmNl X2NyZWF0ZShwcm9kX3RpbWVsaW5lWzBdLCBpdCk7CisJCWZvciAoaSA9IDE7IGkgPCBuOyBpKysp IHsKKwkJCXRtcCA9IHN3X3N5bmNfZmVuY2VfY3JlYXRlKHByb2RfdGltZWxpbmVbaV0sIGl0KTsK KwkJCW1lcmdlZCA9IHN5bmNfbWVyZ2UodG1wLCBmZW5jZSk7CisJCQljbG9zZSh0bXApOworCQkJ Y2xvc2UoZmVuY2UpOworCQkJZmVuY2UgPSBtZXJnZWQ7CisJCX0KKworCQkvKiBNYWtlIHN1cmUg d2Ugc2VlIGFuIGluY3JlbWVudCBmcm9tIGV2ZXJ5IHByb2R1Y2VyIHRocmVhZC4KKwkJICogVmFy eSB0aGUgbWVhbnMgYnkgd2hpY2ggd2Ugd2FpdC4KKwkJICovCisJCWlmIChpdGVyYXRpb25zICUg OCAhPSAwKSB7CisJCQlpZ3RfYXNzZXJ0X2Yoc3luY193YWl0KGZlbmNlLCAtMSkgPT0gMCwKKwkJ CQkgICAgIlByb2R1Y2VycyBkaWQgbm90IGluY3JlbWVudCBhcyBleHBlY3RlZFxuIik7CisJCX0g ZWxzZSB7CisJCQlpZ3RfYXNzZXJ0X2YodGVzdF9tc3BjX3dhaXRfb25fZmVuY2UoZmVuY2UpID09 IDAsCisJCQkJICAgICAiRmFpbHVyZSB3YWl0aW5nIG9uIGZlbmNlXG4iKTsKKwkJfQorCisJCWln dF9hc3NlcnRfZih0ZXN0X21wc2NfZGF0YS5jb3VudGVyID09IG4gKiBpdCwKKwkJCSAgICAgIkNv dW50ZXIgdmFsdWUgbWlzbWF0Y2hcbiIpOworCisJCS8qIFJlbGVhc2UgdGhlIHByb2R1Y2VyIHRo cmVhZHMgKi8KKwkJc3dfc3luY190aW1lbGluZV9pbmMoY29uc190aW1lbGluZSwgMSk7CisJCWNs b3NlKGZlbmNlKTsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworLyogSU1QT1JUQU5UIE5PVEU6IGlm IHlvdSBzZWUgdGhpcyB0ZXN0IGZhaWxpbmcgb24geW91ciBzeXN0ZW0sIGl0IG1heSBiZQorICog ZHVlIHRvIGEgc2hvcnRhZ2Ugb2YgZmlsZSBkZXNjcmlwdG9ycy4gUGxlYXNlIGVuc3VyZSB5b3Vy IHN5c3RlbSBoYXMKKyAqIGEgc2Vuc2libGUgbGltaXQgZm9yIHRoaXMgdGVzdCB0byBmaW5pc2gg Y29ycmVjdGx5LgorICovCitzdGF0aWMgdm9pZCB0ZXN0X3N5bmNfbXVsdGlfcHJvZHVjZXJfc2lu Z2xlX2NvbnN1bWVyKHZvaWQpCit7CisJaW50IGl0ZXJhdGlvbnMgPSAxIDw8IDEyOworCWludCBu ID0gNTsKKwlpbnQgcHJvZF90aW1lbGluZVtuXTsKKwlpbnQgY29uc190aW1lbGluZTsKKwlwdGhy ZWFkX3QgdGhyZWFkc1tuXTsKKwlsb25nIGk7CisKKwljb25zX3RpbWVsaW5lID0gc3dfc3luY190 aW1lbGluZV9jcmVhdGUoKTsKKwlmb3IgKGkgPSAwOyBpIDwgbjsgaSsrKQorCQlwcm9kX3RpbWVs aW5lW2ldID0gc3dfc3luY190aW1lbGluZV9jcmVhdGUoKTsKKworCXRlc3RfbXBzY19kYXRhLnBy b2RfdGltZWxpbmUgPSBwcm9kX3RpbWVsaW5lOworCXRlc3RfbXBzY19kYXRhLmNvbnNfdGltZWxp bmUgPSBjb25zX3RpbWVsaW5lOworCXRlc3RfbXBzY19kYXRhLml0ZXJhdGlvbnMgPSBpdGVyYXRp b25zOworCXRlc3RfbXBzY19kYXRhLnRocmVhZHMgPSBuOworCXRlc3RfbXBzY19kYXRhLmNvdW50 ZXIgPSAwOworCXB0aHJlYWRfbXV0ZXhfaW5pdCgmdGVzdF9tcHNjX2RhdGEubG9jaywgTlVMTCk7 CisKKwlmb3IgKGkgPSAwOyBpIDwgbjsgaSsrKSB7CisJCXB0aHJlYWRfY3JlYXRlKCZ0aHJlYWRz W2ldLCBOVUxMLCAodm9pZCAqICgqKSh2b2lkICopKQorCQkJICAgICAgIG1wc2NfcHJvZHVjZXJf dGhyZWFkLAorCQkJICAgICAgICh2b2lkICopaSk7CisJfQorCisJbXBzY19jb25zdW1lcl90aHJl YWQoKTsKKworCWZvciAoaSA9IDA7IGkgPCBuOyBpKyspCisJCXB0aHJlYWRfam9pbih0aHJlYWRz W2ldLCBOVUxMKTsKK30KKwogc3RhdGljIHZvaWQgdGVzdF9zeW5jX3JhbmRvbV9tZXJnZSh2b2lk KQogewogCWludCBpLCBzaXplLCByZXQ7CkBAIC01NTksNiArNjk1LDkgQEAgaWd0X21haW4KIAlp Z3Rfc3VidGVzdCgic3luY19tdWx0aV9jb25zdW1lcl9wcm9kdWNlciIpCiAJCXRlc3Rfc3luY19t dWx0aV9jb25zdW1lcl9wcm9kdWNlcigpOwogCisJaWd0X3N1YnRlc3QoInN5bmNfbXVsdGlfcHJv ZHVjZXJfc2luZ2xlX2NvbnN1bWVyIikKKwkJdGVzdF9zeW5jX211bHRpX3Byb2R1Y2VyX3Npbmds ZV9jb25zdW1lcigpOworCiAJaWd0X3N1YnRlc3QoInN5bmNfcmFuZG9tX21lcmdlIikKIAkJdGVz dF9zeW5jX3JhbmRvbV9tZXJnZSgpOwogfQotLSAKMi4xMS4wCgpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVs LWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcv bWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK