From mboxrd@z Thu Jan 1 00:00:00 1970 From: robert.foss@collabora.com Subject: [PATCH i-g-t v2 13/13] tests/sw_sync: Add subtest test_sync_multi_producer_single_consumer Date: Mon, 12 Sep 2016 18:08:42 -0400 Message-ID: <20160912220842.18752-14-robert.foss@collabora.com> References: <20160912220842.18752-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 8278F6E5BA for ; Mon, 12 Sep 2016 22:09:07 +0000 (UTC) In-Reply-To: <20160912220842.18752-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 List-Id: intel-gfx@lists.freedesktop.org RnJvbTogUm9iZXJ0IEZvc3MgPHJvYmVydC5mb3NzQGNvbGxhYm9yYS5jb20+CgpUaGlzIHN1YnRl c3QgcnVucyBhIHNpbmdsZSBjb25zdW1lciB0aHJlYWQgYW5kIG11bHRpcGxlIHByb2R1Y2VyIHRo cmVhZCB0aGF0CmFyZSBzeW5jaHJvbml6ZWQgdXNpbmcgbXVsdGlwbGUgdGltZWxpbmVzLgoKU2ln bmVkLW9mZi1ieTogUm9iZXJ0IEZvc3MgPHJvYmVydC5mb3NzQGNvbGxhYm9yYS5jb20+ClJldmll d2VkLWJ5OiBFcmljIEVuZ2VzdHJvbSA8ZXJpY0Blbmdlc3Ryb20uY2g+Ci0tLQogdGVzdHMvc3df c3luYy5jIHwgMTM5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrCiAxIGZpbGUgY2hhbmdlZCwgMTM5IGluc2VydGlvbnMoKykKCmRpZmYgLS1n aXQgYS90ZXN0cy9zd19zeW5jLmMgYi90ZXN0cy9zd19zeW5jLmMKaW5kZXggMzIyYzdiMS4uNDMz NjY1OSAxMDA2NDQKLS0tIGEvdGVzdHMvc3dfc3luYy5jCisrKyBiL3Rlc3RzL3N3X3N5bmMuYwpA QCAtNDQ2LDYgKzQ0NiwxNDIgQEAgc3RhdGljIHZvaWQgdGVzdF9zeW5jX211bHRpX2NvbnN1bWVy X3Byb2R1Y2VyKHZvaWQpCiAJaWd0X2Fzc2VydF9mKHRocmVhZF9yZXQgPT0gMCwgIkEgc3luYyB0 aHJlYWQgcmVwb3J0ZWQgZmFpbHVyZS5cbiIpOwogfQogCitzdGF0aWMgaW50IHRlc3RfbXNwY193 YWl0X29uX2ZlbmNlKGludCBmZW5jZSkKK3sKKwlpbnQgZXJyb3IsIGFjdGl2ZTsKKworCWRvIHsK KwkJZXJyb3IgPSBzd19zeW5jX2ZlbmNlX2NvdW50X3N0YXR1cyhmZW5jZSwKKwkJCQkJCSAgIFNX X1NZTkNfRkVOQ0VfU1RBVFVTX0VSUk9SKTsKKwkJaWd0X2Fzc2VydF9mKGVycm9yID09IDAsICJF cnJvciBvY2N1cnJlZCBvbiBmZW5jZVxuIik7CisJCWFjdGl2ZSA9IHN3X3N5bmNfZmVuY2VfY291 bnRfc3RhdHVzKGZlbmNlLAorCQkJCQkJICAgIFNXX1NZTkNfRkVOQ0VfU1RBVFVTX0FDVElWRSk7 CisJfSB3aGlsZSAoYWN0aXZlKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgc3RydWN0IHsK KwlpbnQgaXRlcmF0aW9uczsKKwlpbnQgdGhyZWFkczsKKwlpbnQgY291bnRlcjsKKwlpbnQgY29u c190aW1lbGluZTsKKwlpbnQgKnByb2RfdGltZWxpbmU7CisJcHRocmVhZF9tdXRleF90IGxvY2s7 Cit9IHRlc3RfbXBzY19kYXRhOworCitzdGF0aWMgaW50IG1wc2NfcHJvZHVjZXJfdGhyZWFkKHZv aWQgKmQpCit7CisJaW50IGlkID0gKGxvbmcpZDsKKwlpbnQgZmVuY2UsIGk7CisJaW50ICpwcm9k X3RpbWVsaW5lID0gdGVzdF9tcHNjX2RhdGEucHJvZF90aW1lbGluZTsKKwlpbnQgY29uc190aW1l bGluZSA9IHRlc3RfbXBzY19kYXRhLmNvbnNfdGltZWxpbmU7CisJaW50IGl0ZXJhdGlvbnMgPSB0 ZXN0X21wc2NfZGF0YS5pdGVyYXRpb25zOworCisJZm9yIChpID0gMDsgaSA8IGl0ZXJhdGlvbnM7 IGkrKykgeworCQlmZW5jZSA9IHN3X3N5bmNfZmVuY2VfY3JlYXRlKGNvbnNfdGltZWxpbmUsIGkp OworCisJCS8qIFdhaXQgZm9yIHRoZSBjb25zdW1lciB0byBmaW5pc2guIFVzZSBhbHRlcm5hdGUK KwkJICogbWVhbnMgb2Ygd2FpdGluZyBvbiB0aGUgZmVuY2UKKwkJICovCisJCWlmICgoaXRlcmF0 aW9ucyArIGlkKSAlIDggIT0gMCkgeworCQkJaWd0X2Fzc2VydF9mKHN3X3N5bmNfd2FpdChmZW5j ZSwgLTEpID4gMCwKKwkJCQkgICAgICJGYWlsdXJlIHdhaXRpbmcgb24gZmVuY2VcbiIpOworCQl9 IGVsc2UgeworCQkJaWd0X2Fzc2VydF9mKHRlc3RfbXNwY193YWl0X29uX2ZlbmNlKGZlbmNlKSA9 PSAwLAorCQkJCSAgICAgIkZhaWx1cmUgd2FpdGluZyBvbiBmZW5jZVxuIik7CisJCX0KKworCQkv KiBFdmVyeSBwcm9kdWNlciBpbmNyZW1lbnRzIHRoZSBjb3VudGVyLCB0aGUgY29uc3VtZXIKKwkJ ICogY2hlY2tzIGFuZCBlcmFzZXMgaXQKKwkJICovCisJCXB0aHJlYWRfbXV0ZXhfbG9jaygmdGVz dF9tcHNjX2RhdGEubG9jayk7CisJCXRlc3RfbXBzY19kYXRhLmNvdW50ZXIrKzsKKwkJcHRocmVh ZF9tdXRleF91bmxvY2soJnRlc3RfbXBzY19kYXRhLmxvY2spOworCisJCXN3X3N5bmNfdGltZWxp bmVfaW5jKHByb2RfdGltZWxpbmVbaWRdLCAxKTsKKwkJc3dfc3luY19mZW5jZV9kZXN0cm95KGZl bmNlKTsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBtcHNjX2NvbnN1bWVyX3Ro cmVhZCh2b2lkKQoreworCWludCBmZW5jZSwgbWVyZ2VkLCB0bXAsIGl0LCBpOworCWludCAqcHJv ZF90aW1lbGluZSA9IHRlc3RfbXBzY19kYXRhLnByb2RfdGltZWxpbmU7CisJaW50IGNvbnNfdGlt ZWxpbmUgPSB0ZXN0X21wc2NfZGF0YS5jb25zX3RpbWVsaW5lOworCWludCBpdGVyYXRpb25zID0g dGVzdF9tcHNjX2RhdGEuaXRlcmF0aW9uczsKKwlpbnQgbiA9IHRlc3RfbXBzY19kYXRhLnRocmVh ZHM7CisKKwlmb3IgKGl0ID0gMTsgaXQgPD0gaXRlcmF0aW9uczsgaXQrKykgeworCQlmZW5jZSA9 IHN3X3N5bmNfZmVuY2VfY3JlYXRlKHByb2RfdGltZWxpbmVbMF0sIGl0KTsKKwkJZm9yIChpID0g MTsgaSA8IG47IGkrKykgeworCQkJdG1wID0gc3dfc3luY19mZW5jZV9jcmVhdGUocHJvZF90aW1l bGluZVtpXSwgaXQpOworCQkJbWVyZ2VkID0gc3dfc3luY19tZXJnZSh0bXAsIGZlbmNlKTsKKwkJ CXN3X3N5bmNfZmVuY2VfZGVzdHJveSh0bXApOworCQkJc3dfc3luY19mZW5jZV9kZXN0cm95KGZl bmNlKTsKKwkJCWZlbmNlID0gbWVyZ2VkOworCQl9CisKKwkJLyogTWFrZSBzdXJlIHdlIHNlZSBh biBpbmNyZW1lbnQgZnJvbSBldmVyeSBwcm9kdWNlciB0aHJlYWQuCisJCSAqIFZhcnkgdGhlIG1l YW5zIGJ5IHdoaWNoIHdlIHdhaXQuCisJCSAqLworCQlpZiAoaXRlcmF0aW9ucyAlIDggIT0gMCkg eworCQkJaWd0X2Fzc2VydF9mKHN3X3N5bmNfd2FpdChmZW5jZSwgLTEpID09IDAsCisJCQkJICAg ICJQcm9kdWNlcnMgZGlkIG5vdCBpbmNyZW1lbnQgYXMgZXhwZWN0ZWRcbiIpOworCQl9IGVsc2Ug eworCQkJaWd0X2Fzc2VydF9mKHRlc3RfbXNwY193YWl0X29uX2ZlbmNlKGZlbmNlKSA9PSAwLAor CQkJCSAgICAgIkZhaWx1cmUgd2FpdGluZyBvbiBmZW5jZVxuIik7CisJCX0KKworCQlpZ3RfYXNz ZXJ0X2YodGVzdF9tcHNjX2RhdGEuY291bnRlciA9PSBuICogaXQsCisJCQkgICAgICJDb3VudGVy IHZhbHVlIG1pc21hdGNoXG4iKTsKKworCQkvKiBSZWxlYXNlIHRoZSBwcm9kdWNlciB0aHJlYWRz ICovCisJCXN3X3N5bmNfdGltZWxpbmVfaW5jKGNvbnNfdGltZWxpbmUsIDEpOworCQlzd19zeW5j X2ZlbmNlX2Rlc3Ryb3koZmVuY2UpOworCX0KKworCXJldHVybiAwOworfQorCisvKiBJTVBPUlRB TlQgTk9URTogaWYgeW91IHNlZSB0aGlzIHRlc3QgZmFpbGluZyBvbiB5b3VyIHN5c3RlbSwgaXQg bWF5IGJlCisgKiBkdWUgdG8gYSBzaG9ydGFnZSBvZiBmaWxlIGRlc2NyaXB0b3JzLiBQbGVhc2Ug ZW5zdXJlIHlvdXIgc3lzdGVtIGhhcworICogYSBzZW5zaWJsZSBsaW1pdCBmb3IgdGhpcyB0ZXN0 IHRvIGZpbmlzaCBjb3JyZWN0bHkuCisgKi8KK3N0YXRpYyB2b2lkIHRlc3Rfc3luY19tdWx0aV9w cm9kdWNlcl9zaW5nbGVfY29uc3VtZXIodm9pZCkKK3sKKwlpbnQgaXRlcmF0aW9ucyA9IDEgPDwg MTI7CisJaW50IG4gPSA1OworCWludCBwcm9kX3RpbWVsaW5lW25dOworCWludCBjb25zX3RpbWVs aW5lOworCXB0aHJlYWRfdCB0aHJlYWRzW25dOworCWxvbmcgaTsKKworCWNvbnNfdGltZWxpbmUg PSBzd19zeW5jX3RpbWVsaW5lX2NyZWF0ZSgpOworCWZvciAoaSA9IDA7IGkgPCBuOyBpKyspCisJ CXByb2RfdGltZWxpbmVbaV0gPSBzd19zeW5jX3RpbWVsaW5lX2NyZWF0ZSgpOworCisJdGVzdF9t cHNjX2RhdGEucHJvZF90aW1lbGluZSA9IHByb2RfdGltZWxpbmU7CisJdGVzdF9tcHNjX2RhdGEu Y29uc190aW1lbGluZSA9IGNvbnNfdGltZWxpbmU7CisJdGVzdF9tcHNjX2RhdGEuaXRlcmF0aW9u cyA9IGl0ZXJhdGlvbnM7CisJdGVzdF9tcHNjX2RhdGEudGhyZWFkcyA9IG47CisJdGVzdF9tcHNj X2RhdGEuY291bnRlciA9IDA7CisJcHRocmVhZF9tdXRleF9pbml0KCZ0ZXN0X21wc2NfZGF0YS5s b2NrLCBOVUxMKTsKKworCWZvciAoaSA9IDA7IGkgPCBuOyBpKyspIHsKKwkJcHRocmVhZF9jcmVh dGUoJnRocmVhZHNbaV0sIE5VTEwsICh2b2lkICogKCopKHZvaWQgKikpCisJCQkgICAgICAgbXBz Y19wcm9kdWNlcl90aHJlYWQsCisJCQkgICAgICAgKHZvaWQgKilpKTsKKwl9CisKKwltcHNjX2Nv bnN1bWVyX3RocmVhZCgpOworCisJZm9yIChpID0gMDsgaSA8IG47IGkrKykKKwkJcHRocmVhZF9q b2luKHRocmVhZHNbaV0sIE5VTEwpOworfQorCiBzdGF0aWMgdm9pZCB0ZXN0X3N5bmNfcmFuZG9t X21lcmdlKHZvaWQpCiB7CiAJaW50IGksIHNpemUsIHJldDsKQEAgLTU0OCw2ICs2ODQsOSBAQCBp Z3RfbWFpbgogCWlndF9zdWJ0ZXN0KCJzeW5jX211bHRpX2NvbnN1bWVyX3Byb2R1Y2VyIikKIAkJ dGVzdF9zeW5jX211bHRpX2NvbnN1bWVyX3Byb2R1Y2VyKCk7CiAKKwlpZ3Rfc3VidGVzdCgic3lu Y19tdWx0aV9wcm9kdWNlcl9zaW5nbGVfY29uc3VtZXIiKQorCQl0ZXN0X3N5bmNfbXVsdGlfcHJv ZHVjZXJfc2luZ2xlX2NvbnN1bWVyKCk7CisKIAlpZ3Rfc3VidGVzdCgic3luY19yYW5kb21fbWVy Z2UiKQogCQl0ZXN0X3N5bmNfcmFuZG9tX21lcmdlKCk7CiB9Ci0tIAoyLjkuMwoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcg bGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==