From mboxrd@z Thu Jan 1 00:00:00 1970 From: robert.foss@collabora.com Subject: [PATCH i-g-t v9 13/21] tests/sw_sync: Add subtest test_sync_multi_producer_single_consumer Date: Tue, 22 Nov 2016 08:28:31 -0500 Message-ID: <20161122132839.26250-14-robert.foss@collabora.com> References: <20161122132839.26250-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 014FD6E400 for ; Tue, 22 Nov 2016 13:29:07 +0000 (UTC) In-Reply-To: <20161122132839.26250-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 Vetter , Marius Vlad , Eric Engestrom , Chris Wilson , Tomeu Vizoso List-Id: intel-gfx@lists.freedesktop.org RnJvbTogUm9iZXJ0IEZvc3MgPHJvYmVydC5mb3NzQGNvbGxhYm9yYS5jb20+CgpUaGlzIHN1YnRl c3QgcnVucyBhIHNpbmdsZSBjb25zdW1lciB0aHJlYWQgYW5kIG11bHRpcGxlIHByb2R1Y2VyIHRo cmVhZCB0aGF0CmFyZSBzeW5jaHJvbml6ZWQgdXNpbmcgbXVsdGlwbGUgdGltZWxpbmVzLgoKU2ln bmVkLW9mZi1ieTogUm9iZXJ0IEZvc3MgPHJvYmVydC5mb3NzQGNvbGxhYm9yYS5jb20+ClJldmll d2VkLWJ5OiBFcmljIEVuZ2VzdHJvbSA8ZXJpY0Blbmdlc3Ryb20uY2g+Ci0tLQogdGVzdHMvc3df c3luYy5jIHwgMTM5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrCiAxIGZpbGUgY2hhbmdlZCwgMTM5IGluc2VydGlvbnMoKykKCmRpZmYgLS1n aXQgYS90ZXN0cy9zd19zeW5jLmMgYi90ZXN0cy9zd19zeW5jLmMKaW5kZXggMTNiMjAwNS4uMjY1 ZTQ0NiAxMDA2NDQKLS0tIGEvdGVzdHMvc3dfc3luYy5jCisrKyBiL3Rlc3RzL3N3X3N5bmMuYwpA QCAtNDYyLDYgKzQ2MiwxNDIgQEAgc3RhdGljIHZvaWQgdGVzdF9zeW5jX211bHRpX2NvbnN1bWVy X3Byb2R1Y2VyKHZvaWQpCiAJaWd0X2Fzc2VydF9mKHRocmVhZF9yZXQgPT0gMCwgIkEgc3luYyB0 aHJlYWQgcmVwb3J0ZWQgZmFpbHVyZS5cbiIpOwogfQogCitzdGF0aWMgaW50IHRlc3RfbXNwY193 YWl0X29uX2ZlbmNlKGludCBmZW5jZSkKK3sKKwlpbnQgZXJyb3IsIGFjdGl2ZTsKKworCWRvIHsK KwkJZXJyb3IgPSBzeW5jX2ZlbmNlX2NvdW50X3N0YXR1cyhmZW5jZSwKKwkJCQkJCSAgIFNXX1NZ TkNfRkVOQ0VfU1RBVFVTX0VSUk9SKTsKKwkJaWd0X2Fzc2VydF9mKGVycm9yID09IDAsICJFcnJv ciBvY2N1cnJlZCBvbiBmZW5jZVxuIik7CisJCWFjdGl2ZSA9IHN5bmNfZmVuY2VfY291bnRfc3Rh dHVzKGZlbmNlLAorCQkJCQkJICAgIFNXX1NZTkNfRkVOQ0VfU1RBVFVTX0FDVElWRSk7CisJfSB3 aGlsZSAoYWN0aXZlKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgc3RydWN0IHsKKwlpbnQg aXRlcmF0aW9uczsKKwlpbnQgdGhyZWFkczsKKwlpbnQgY291bnRlcjsKKwlpbnQgY29uc190aW1l bGluZTsKKwlpbnQgKnByb2RfdGltZWxpbmU7CisJcHRocmVhZF9tdXRleF90IGxvY2s7Cit9IHRl c3RfbXBzY19kYXRhOworCitzdGF0aWMgaW50IG1wc2NfcHJvZHVjZXJfdGhyZWFkKHZvaWQgKmQp Cit7CisJaW50IGlkID0gKGxvbmcpZDsKKwlpbnQgZmVuY2UsIGk7CisJaW50ICpwcm9kX3RpbWVs aW5lID0gdGVzdF9tcHNjX2RhdGEucHJvZF90aW1lbGluZTsKKwlpbnQgY29uc190aW1lbGluZSA9 IHRlc3RfbXBzY19kYXRhLmNvbnNfdGltZWxpbmU7CisJaW50IGl0ZXJhdGlvbnMgPSB0ZXN0X21w c2NfZGF0YS5pdGVyYXRpb25zOworCisJZm9yIChpID0gMDsgaSA8IGl0ZXJhdGlvbnM7IGkrKykg eworCQlmZW5jZSA9IHN3X3N5bmNfZmVuY2VfY3JlYXRlKGNvbnNfdGltZWxpbmUsIGkpOworCisJ CS8qIFdhaXQgZm9yIHRoZSBjb25zdW1lciB0byBmaW5pc2guIFVzZSBhbHRlcm5hdGUKKwkJICog bWVhbnMgb2Ygd2FpdGluZyBvbiB0aGUgZmVuY2UKKwkJICovCisJCWlmICgoaXRlcmF0aW9ucyAr IGlkKSAlIDggIT0gMCkgeworCQkJaWd0X2Fzc2VydF9mKHN5bmNfd2FpdChmZW5jZSwgLTEpID09 IDAsCisJCQkJICAgICAiRmFpbHVyZSB3YWl0aW5nIG9uIGZlbmNlXG4iKTsKKwkJfSBlbHNlIHsK KwkJCWlndF9hc3NlcnRfZih0ZXN0X21zcGNfd2FpdF9vbl9mZW5jZShmZW5jZSkgPT0gMCwKKwkJ CQkgICAgICJGYWlsdXJlIHdhaXRpbmcgb24gZmVuY2VcbiIpOworCQl9CisKKwkJLyogRXZlcnkg cHJvZHVjZXIgaW5jcmVtZW50cyB0aGUgY291bnRlciwgdGhlIGNvbnN1bWVyCisJCSAqIGNoZWNr cyBhbmQgZXJhc2VzIGl0CisJCSAqLworCQlwdGhyZWFkX211dGV4X2xvY2soJnRlc3RfbXBzY19k YXRhLmxvY2spOworCQl0ZXN0X21wc2NfZGF0YS5jb3VudGVyKys7CisJCXB0aHJlYWRfbXV0ZXhf dW5sb2NrKCZ0ZXN0X21wc2NfZGF0YS5sb2NrKTsKKworCQlzd19zeW5jX3RpbWVsaW5lX2luYyhw cm9kX3RpbWVsaW5lW2lkXSwgMSk7CisJCWNsb3NlKGZlbmNlKTsKKwl9CisKKwlyZXR1cm4gMDsK K30KKworc3RhdGljIGludCBtcHNjX2NvbnN1bWVyX3RocmVhZCh2b2lkKQoreworCWludCBmZW5j ZSwgbWVyZ2VkLCB0bXAsIGl0LCBpOworCWludCAqcHJvZF90aW1lbGluZSA9IHRlc3RfbXBzY19k YXRhLnByb2RfdGltZWxpbmU7CisJaW50IGNvbnNfdGltZWxpbmUgPSB0ZXN0X21wc2NfZGF0YS5j b25zX3RpbWVsaW5lOworCWludCBpdGVyYXRpb25zID0gdGVzdF9tcHNjX2RhdGEuaXRlcmF0aW9u czsKKwlpbnQgbiA9IHRlc3RfbXBzY19kYXRhLnRocmVhZHM7CisKKwlmb3IgKGl0ID0gMTsgaXQg PD0gaXRlcmF0aW9uczsgaXQrKykgeworCQlmZW5jZSA9IHN3X3N5bmNfZmVuY2VfY3JlYXRlKHBy b2RfdGltZWxpbmVbMF0sIGl0KTsKKwkJZm9yIChpID0gMTsgaSA8IG47IGkrKykgeworCQkJdG1w ID0gc3dfc3luY19mZW5jZV9jcmVhdGUocHJvZF90aW1lbGluZVtpXSwgaXQpOworCQkJbWVyZ2Vk ID0gc3luY19tZXJnZSh0bXAsIGZlbmNlKTsKKwkJCWNsb3NlKHRtcCk7CisJCQljbG9zZShmZW5j ZSk7CisJCQlmZW5jZSA9IG1lcmdlZDsKKwkJfQorCisJCS8qIE1ha2Ugc3VyZSB3ZSBzZWUgYW4g aW5jcmVtZW50IGZyb20gZXZlcnkgcHJvZHVjZXIgdGhyZWFkLgorCQkgKiBWYXJ5IHRoZSBtZWFu cyBieSB3aGljaCB3ZSB3YWl0LgorCQkgKi8KKwkJaWYgKGl0ZXJhdGlvbnMgJSA4ICE9IDApIHsK KwkJCWlndF9hc3NlcnRfZihzeW5jX3dhaXQoZmVuY2UsIC0xKSA9PSAwLAorCQkJCSAgICAiUHJv ZHVjZXJzIGRpZCBub3QgaW5jcmVtZW50IGFzIGV4cGVjdGVkXG4iKTsKKwkJfSBlbHNlIHsKKwkJ CWlndF9hc3NlcnRfZih0ZXN0X21zcGNfd2FpdF9vbl9mZW5jZShmZW5jZSkgPT0gMCwKKwkJCQkg ICAgICJGYWlsdXJlIHdhaXRpbmcgb24gZmVuY2VcbiIpOworCQl9CisKKwkJaWd0X2Fzc2VydF9m KHRlc3RfbXBzY19kYXRhLmNvdW50ZXIgPT0gbiAqIGl0LAorCQkJICAgICAiQ291bnRlciB2YWx1 ZSBtaXNtYXRjaFxuIik7CisKKwkJLyogUmVsZWFzZSB0aGUgcHJvZHVjZXIgdGhyZWFkcyAqLwor CQlzd19zeW5jX3RpbWVsaW5lX2luYyhjb25zX3RpbWVsaW5lLCAxKTsKKwkJY2xvc2UoZmVuY2Up OworCX0KKworCXJldHVybiAwOworfQorCisvKiBJTVBPUlRBTlQgTk9URTogaWYgeW91IHNlZSB0 aGlzIHRlc3QgZmFpbGluZyBvbiB5b3VyIHN5c3RlbSwgaXQgbWF5IGJlCisgKiBkdWUgdG8gYSBz aG9ydGFnZSBvZiBmaWxlIGRlc2NyaXB0b3JzLiBQbGVhc2UgZW5zdXJlIHlvdXIgc3lzdGVtIGhh cworICogYSBzZW5zaWJsZSBsaW1pdCBmb3IgdGhpcyB0ZXN0IHRvIGZpbmlzaCBjb3JyZWN0bHku CisgKi8KK3N0YXRpYyB2b2lkIHRlc3Rfc3luY19tdWx0aV9wcm9kdWNlcl9zaW5nbGVfY29uc3Vt ZXIodm9pZCkKK3sKKwlpbnQgaXRlcmF0aW9ucyA9IDEgPDwgMTI7CisJaW50IG4gPSA1OworCWlu dCBwcm9kX3RpbWVsaW5lW25dOworCWludCBjb25zX3RpbWVsaW5lOworCXB0aHJlYWRfdCB0aHJl YWRzW25dOworCWxvbmcgaTsKKworCWNvbnNfdGltZWxpbmUgPSBzd19zeW5jX3RpbWVsaW5lX2Ny ZWF0ZSgpOworCWZvciAoaSA9IDA7IGkgPCBuOyBpKyspCisJCXByb2RfdGltZWxpbmVbaV0gPSBz d19zeW5jX3RpbWVsaW5lX2NyZWF0ZSgpOworCisJdGVzdF9tcHNjX2RhdGEucHJvZF90aW1lbGlu ZSA9IHByb2RfdGltZWxpbmU7CisJdGVzdF9tcHNjX2RhdGEuY29uc190aW1lbGluZSA9IGNvbnNf dGltZWxpbmU7CisJdGVzdF9tcHNjX2RhdGEuaXRlcmF0aW9ucyA9IGl0ZXJhdGlvbnM7CisJdGVz dF9tcHNjX2RhdGEudGhyZWFkcyA9IG47CisJdGVzdF9tcHNjX2RhdGEuY291bnRlciA9IDA7CisJ cHRocmVhZF9tdXRleF9pbml0KCZ0ZXN0X21wc2NfZGF0YS5sb2NrLCBOVUxMKTsKKworCWZvciAo aSA9IDA7IGkgPCBuOyBpKyspIHsKKwkJcHRocmVhZF9jcmVhdGUoJnRocmVhZHNbaV0sIE5VTEws ICh2b2lkICogKCopKHZvaWQgKikpCisJCQkgICAgICAgbXBzY19wcm9kdWNlcl90aHJlYWQsCisJ CQkgICAgICAgKHZvaWQgKilpKTsKKwl9CisKKwltcHNjX2NvbnN1bWVyX3RocmVhZCgpOworCisJ Zm9yIChpID0gMDsgaSA8IG47IGkrKykKKwkJcHRocmVhZF9qb2luKHRocmVhZHNbaV0sIE5VTEwp OworfQorCiBzdGF0aWMgdm9pZCB0ZXN0X3N5bmNfcmFuZG9tX21lcmdlKHZvaWQpCiB7CiAJaW50 IGksIHNpemUsIHJldDsKQEAgLTU2NCw2ICs3MDAsOSBAQCBpZ3RfbWFpbgogCWlndF9zdWJ0ZXN0 KCJzeW5jX211bHRpX2NvbnN1bWVyX3Byb2R1Y2VyIikKIAkJdGVzdF9zeW5jX211bHRpX2NvbnN1 bWVyX3Byb2R1Y2VyKCk7CiAKKwlpZ3Rfc3VidGVzdCgic3luY19tdWx0aV9wcm9kdWNlcl9zaW5n bGVfY29uc3VtZXIiKQorCQl0ZXN0X3N5bmNfbXVsdGlfcHJvZHVjZXJfc2luZ2xlX2NvbnN1bWVy KCk7CisKIAlpZ3Rfc3VidGVzdCgic3luY19yYW5kb21fbWVyZ2UiKQogCQl0ZXN0X3N5bmNfcmFu ZG9tX21lcmdlKCk7CiB9Ci0tIAoyLjEwLjIKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3Rz LmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2ludGVsLWdmeAo=