From mboxrd@z Thu Jan 1 00:00:00 1970 From: robert.foss@collabora.com Subject: [PATCH v1 13/13] tests/sw_sync: Add subtest test_sync_multi_producer_single_consumer Date: Tue, 23 Aug 2016 13:56:15 -0400 Message-ID: <1471974975-11531-14-git-send-email-robert.foss@collabora.com> References: <1471974975-11531-1-git-send-email-robert.foss@collabora.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1471974975-11531-1-git-send-email-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, mesa-dev@lists.freedesktop.org, Gustavo Padovan , Daniel Stone , Daniel Vetter , Marius Vlad List-Id: intel-gfx@lists.freedesktop.org RnJvbTogUm9iZXJ0IEZvc3MgPHJvYmVydC5mb3NzQGNvbGxhYm9yYS5jb20+CgpUaGlzIHN1YnRl c3QgcnVucyBhIHNpbmdsZSBjb25zdW1lciB0aHJlYWQgYW5kIG11bHRpcGxlIHByb2R1Y2VyIHRo cmVhZCB0aGF0CmFyZSBzeW5jaHJvbml6ZWQgdXNpbmcgbXVsdGlwbGUgdGltZWxpbmVzLgoKU2ln bmVkLW9mZi1ieTogUm9iZXJ0IEZvc3MgPHJvYmVydC5mb3NzQGNvbGxhYm9yYS5jb20+Ci0tLQog dGVzdHMvc3dfc3luYy5jIHwgMTM5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrCiAxIGZpbGUgY2hhbmdlZCwgMTM5IGluc2VydGlvbnMoKykK CmRpZmYgLS1naXQgYS90ZXN0cy9zd19zeW5jLmMgYi90ZXN0cy9zd19zeW5jLmMKaW5kZXggOWZm NTA4OC4uMmFjY2RlZSAxMDA2NDQKLS0tIGEvdGVzdHMvc3dfc3luYy5jCisrKyBiL3Rlc3RzL3N3 X3N5bmMuYwpAQCAtNDQ2LDYgKzQ0NiwxNDIgQEAgc3RhdGljIHZvaWQgdGVzdF9zeW5jX211bHRp X2NvbnN1bWVyX3Byb2R1Y2VyKHZvaWQpCiAJaWd0X2Fzc2VydF9mKHRocmVhZF9yZXQgPT0gMCwg IkEgc3luYyB0aHJlYWQgcmVwb3J0ZWQgZmFpbHVyZS5cbiIpOwogfQogCitzdGF0aWMgaW50IHRl c3RfbXNwY193YWl0X29uX2ZlbmNlKGludCBmZW5jZSkKK3sKKwlpbnQgZXJyb3IsIGFjdGl2ZTsK KworCWRvIHsKKwkJZXJyb3IgPSBzd19zeW5jX2ZlbmNlX2NvdW50X3N0YXR1cyhmZW5jZSwKKwkJ CQkJCSAgIFNXX1NZTkNfRkVOQ0VfU1RBVFVTX0VSUk9SKTsKKwkJaWd0X2Fzc2VydF9mKGVycm9y ID09IDAsICJFcnJvciBvY2N1cnJlZCBvbiBmZW5jZVxuIik7CisJCWFjdGl2ZSA9IHN3X3N5bmNf ZmVuY2VfY291bnRfc3RhdHVzKGZlbmNlLAorCQkJCQkJICAgIFNXX1NZTkNfRkVOQ0VfU1RBVFVT X0FDVElWRSk7CisJfSB3aGlsZSAoYWN0aXZlKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMg c3RydWN0IHsKKwlpbnQgaXRlcmF0aW9uczsKKwlpbnQgdGhyZWFkczsKKwlpbnQgY291bnRlcjsK KwlpbnQgY29uc190aW1lbGluZTsKKwlpbnQgKnByb2RfdGltZWxpbmU7CisJcHRocmVhZF9tdXRl eF90IGxvY2s7Cit9IHRlc3RfbXBzY19kYXRhOworCitzdGF0aWMgaW50IG1wc2NfcHJvZHVjZXJf dGhyZWFkKHZvaWQgKmQpCit7CisJaW50IGlkID0gKGxvbmcpZDsKKwlpbnQgZmVuY2UsIGk7CisJ aW50ICpwcm9kX3RpbWVsaW5lID0gdGVzdF9tcHNjX2RhdGEucHJvZF90aW1lbGluZTsKKwlpbnQg Y29uc190aW1lbGluZSA9IHRlc3RfbXBzY19kYXRhLmNvbnNfdGltZWxpbmU7CisJaW50IGl0ZXJh dGlvbnMgPSB0ZXN0X21wc2NfZGF0YS5pdGVyYXRpb25zOworCisJZm9yIChpID0gMDsgaSA8IGl0 ZXJhdGlvbnM7IGkrKykgeworCQlmZW5jZSA9IHN3X3N5bmNfZmVuY2VfY3JlYXRlKGNvbnNfdGlt ZWxpbmUsIGkpOworCisJCS8qIFdhaXQgZm9yIHRoZSBjb25zdW1lciB0byBmaW5pc2guIFVzZSBh bHRlcm5hdGUKKwkJICogbWVhbnMgb2Ygd2FpdGluZyBvbiB0aGUgZmVuY2UKKwkJICovCisJCWlm ICgoaXRlcmF0aW9ucyArIGlkKSAlIDggIT0gMCkgeworCQkJaWd0X2Fzc2VydF9mKHN3X3N5bmNf d2FpdChmZW5jZSwgLTEpID4gMCwKKwkJCQkgICAgICJGYWlsdXJlIHdhaXRpbmcgb24gZmVuY2Vc biIpOworCQl9IGVsc2UgeworCQkJaWd0X2Fzc2VydF9mKHRlc3RfbXNwY193YWl0X29uX2ZlbmNl KGZlbmNlKSA9PSAwLAorCQkJCSAgICAgIkZhaWx1cmUgd2FpdGluZyBvbiBmZW5jZVxuIik7CisJ CX0KKworCQkvKiBFdmVyeSBwcm9kdWNlciBpbmNyZW1lbnRzIHRoZSBjb3VudGVyLCB0aGUgY29u c3VtZXIKKwkJICogY2hlY2tzIGFuZCBlcmFzZXMgaXQKKwkJICovCisJCXB0aHJlYWRfbXV0ZXhf bG9jaygmdGVzdF9tcHNjX2RhdGEubG9jayk7CisJCXRlc3RfbXBzY19kYXRhLmNvdW50ZXIrKzsK KwkJcHRocmVhZF9tdXRleF91bmxvY2soJnRlc3RfbXBzY19kYXRhLmxvY2spOworCisJCXN3X3N5 bmNfdGltZWxpbmVfaW5jKHByb2RfdGltZWxpbmVbaWRdLCAxKTsKKwkJc3dfc3luY19mZW5jZV9k ZXN0cm95KGZlbmNlKTsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBtcHNjX2Nv bnN1bWVyX3RocmVhZCh2b2lkKQoreworCWludCBmZW5jZSwgbWVyZ2VkLCB0bXAsIGl0LCBpOwor CWludCAqcHJvZF90aW1lbGluZSA9IHRlc3RfbXBzY19kYXRhLnByb2RfdGltZWxpbmU7CisJaW50 IGNvbnNfdGltZWxpbmUgPSB0ZXN0X21wc2NfZGF0YS5jb25zX3RpbWVsaW5lOworCWludCBpdGVy YXRpb25zID0gdGVzdF9tcHNjX2RhdGEuaXRlcmF0aW9uczsKKwlpbnQgbiA9IHRlc3RfbXBzY19k YXRhLnRocmVhZHM7CisKKwlmb3IgKGl0ID0gMTsgaXQgPD0gaXRlcmF0aW9uczsgaXQrKykgewor CQlmZW5jZSA9IHN3X3N5bmNfZmVuY2VfY3JlYXRlKHByb2RfdGltZWxpbmVbMF0sIGl0KTsKKwkJ Zm9yIChpID0gMTsgaSA8IG47IGkrKykgeworCQkJdG1wID0gc3dfc3luY19mZW5jZV9jcmVhdGUo cHJvZF90aW1lbGluZVtpXSwgaXQpOworCQkJbWVyZ2VkID0gc3dfc3luY19tZXJnZSh0bXAsIGZl bmNlKTsKKwkJCXN3X3N5bmNfZmVuY2VfZGVzdHJveSh0bXApOworCQkJc3dfc3luY19mZW5jZV9k ZXN0cm95KGZlbmNlKTsKKwkJCWZlbmNlID0gbWVyZ2VkOworCQl9CisKKwkJLyogTWFrZSBzdXJl IHdlIHNlZSBhbiBpbmNyZW1lbnQgZnJvbSBldmVyeSBwcm9kdWNlciB0aHJlYWQuCisJCSAqIFZh cnkgdGhlIG1lYW5zIGJ5IHdoaWNoIHdlIHdhaXQuCisJCSAqLworCQlpZiAoaXRlcmF0aW9ucyAl IDggIT0gMCkgeworCQkJaWd0X2Fzc2VydF9mKHN3X3N5bmNfd2FpdChmZW5jZSwgLTEpID09IDAs CisJCQkJICAgICJQcm9kdWNlcnMgZGlkIG5vdCBpbmNyZW1lbnQgYXMgZXhwZWN0ZWRcbiIpOwor CQl9IGVsc2UgeworCQkJaWd0X2Fzc2VydF9mKHRlc3RfbXNwY193YWl0X29uX2ZlbmNlKGZlbmNl KSA9PSAwLAorCQkJCSAgICAgIkZhaWx1cmUgd2FpdGluZyBvbiBmZW5jZVxuIik7CisJCX0KKwor CQlpZ3RfYXNzZXJ0X2YodGVzdF9tcHNjX2RhdGEuY291bnRlciA9PSBuICogaXQsCisJCQkgICAg ICJDb3VudGVyIHZhbHVlIG1pc21hdGNoXG4iKTsKKworCQkvKiBSZWxlYXNlIHRoZSBwcm9kdWNl ciB0aHJlYWRzICovCisJCXN3X3N5bmNfdGltZWxpbmVfaW5jKGNvbnNfdGltZWxpbmUsIDEpOwor CQlzd19zeW5jX2ZlbmNlX2Rlc3Ryb3koZmVuY2UpOworCX0KKworCXJldHVybiAwOworfQorCisv KiBJTVBPUlRBTlQgTk9URTogaWYgeW91IHNlZSB0aGlzIHRlc3QgZmFpbGluZyBvbiB5b3VyIHN5 c3RlbSwgaXQgbWF5IGJlCisgKiBkdWUgdG8gYSBzaG9ydGFnZSBvZiBmaWxlIGRlc2NyaXB0b3Jz LiBQbGVhc2UgZW5zdXJlIHlvdXIgc3lzdGVtIGhhcworICogYSBzZW5zaWJsZSBsaW1pdCBmb3Ig dGhpcyB0ZXN0IHRvIGZpbmlzaCBjb3JyZWN0bHkuCisgKi8KK3N0YXRpYyB2b2lkIHRlc3Rfc3lu Y19tdWx0aV9wcm9kdWNlcl9zaW5nbGVfY29uc3VtZXIodm9pZCkKK3sKKwlpbnQgaXRlcmF0aW9u cyA9IDEgPDwgMTI7CisJaW50IG4gPSA1OworCWludCBwcm9kX3RpbWVsaW5lW25dOworCWludCBj b25zX3RpbWVsaW5lOworCXB0aHJlYWRfdCB0aHJlYWRzW25dOworCWxvbmcgaTsKKworCWNvbnNf dGltZWxpbmUgPSBzd19zeW5jX3RpbWVsaW5lX2NyZWF0ZSgpOworCWZvciAoaSA9IDA7IGkgPCBu OyBpKyspCisJCXByb2RfdGltZWxpbmVbaV0gPSBzd19zeW5jX3RpbWVsaW5lX2NyZWF0ZSgpOwor CisJdGVzdF9tcHNjX2RhdGEucHJvZF90aW1lbGluZSA9IHByb2RfdGltZWxpbmU7CisJdGVzdF9t cHNjX2RhdGEuY29uc190aW1lbGluZSA9IGNvbnNfdGltZWxpbmU7CisJdGVzdF9tcHNjX2RhdGEu aXRlcmF0aW9ucyA9IGl0ZXJhdGlvbnM7CisJdGVzdF9tcHNjX2RhdGEudGhyZWFkcyA9IG47CisJ dGVzdF9tcHNjX2RhdGEuY291bnRlciA9IDA7CisJcHRocmVhZF9tdXRleF9pbml0KCZ0ZXN0X21w c2NfZGF0YS5sb2NrLCBOVUxMKTsKKworCWZvciAoaSA9IDA7IGkgPCBuOyBpKyspIHsKKwkJcHRo cmVhZF9jcmVhdGUoJnRocmVhZHNbaV0sIE5VTEwsICh2b2lkICogKCopKHZvaWQgKikpCisJCQkg ICAgICAgbXBzY19wcm9kdWNlcl90aHJlYWQsCisJCQkgICAgICAgKHZvaWQgKilpKTsKKwl9CisK KwltcHNjX2NvbnN1bWVyX3RocmVhZCgpOworCisJZm9yIChpID0gMDsgaSA8IG47IGkrKykKKwkJ cHRocmVhZF9qb2luKHRocmVhZHNbaV0sIE5VTEwpOworfQorCiBzdGF0aWMgdm9pZCB0ZXN0X3N5 bmNfcmFuZG9tX21lcmdlKHZvaWQpCiB7CiAJaW50IGksIHNpemUsIHJldDsKQEAgLTU0OCw2ICs2 ODQsOSBAQCBpZ3RfbWFpbgogCWlndF9zdWJ0ZXN0KCJzeW5jX211bHRpX2NvbnN1bWVyX3Byb2R1 Y2VyIikKIAkJdGVzdF9zeW5jX211bHRpX2NvbnN1bWVyX3Byb2R1Y2VyKCk7CiAKKwlpZ3Rfc3Vi dGVzdCgic3luY19tdWx0aV9wcm9kdWNlcl9zaW5nbGVfY29uc3VtZXIiKQorCQl0ZXN0X3N5bmNf bXVsdGlfcHJvZHVjZXJfc2luZ2xlX2NvbnN1bWVyKCk7CisKIAlpZ3Rfc3VidGVzdCgic3luY19y YW5kb21fbWVyZ2UiKQogCQl0ZXN0X3N5bmNfcmFuZG9tX21lcmdlKCk7CiB9Ci0tIAoyLjcuNAoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4 IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==