From mboxrd@z Thu Jan 1 00:00:00 1970 From: robert.foss@collabora.com Subject: [PATCH i-g-t v5 13/13] tests/sw_sync: Add subtest test_sync_multi_producer_single_consumer Date: Thu, 15 Sep 2016 14:40:18 -0400 Message-ID: <20160915184018.9218-14-robert.foss@collabora.com> References: <20160915184018.9218-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 [IPv6:2a00:1098:0:82:1000:25:2eeb:e3e3]) by gabe.freedesktop.org (Postfix) with ESMTPS id BCA126E90A for ; Thu, 15 Sep 2016 18:40:48 +0000 (UTC) In-Reply-To: <20160915184018.9218-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 aXQgYS90ZXN0cy9zd19zeW5jLmMgYi90ZXN0cy9zd19zeW5jLmMKaW5kZXggOWVjMmRjMi4uMWFm OWE2YiAxMDA2NDQKLS0tIGEvdGVzdHMvc3dfc3luYy5jCisrKyBiL3Rlc3RzL3N3X3N5bmMuYwpA QCAtNDQ3LDYgKzQ0NywxNDIgQEAgc3RhdGljIHZvaWQgdGVzdF9zeW5jX211bHRpX2NvbnN1bWVy 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 bmVfaW5jKHByb2RfdGltZWxpbmVbaWRdLCAxKTsKKwkJY2xvc2UoZmVuY2UpOworCX0KKworCXJl dHVybiAwOworfQorCitzdGF0aWMgaW50IG1wc2NfY29uc3VtZXJfdGhyZWFkKHZvaWQpCit7CisJ aW50IGZlbmNlLCBtZXJnZWQsIHRtcCwgaXQsIGk7CisJaW50ICpwcm9kX3RpbWVsaW5lID0gdGVz dF9tcHNjX2RhdGEucHJvZF90aW1lbGluZTsKKwlpbnQgY29uc190aW1lbGluZSA9IHRlc3RfbXBz Y19kYXRhLmNvbnNfdGltZWxpbmU7CisJaW50IGl0ZXJhdGlvbnMgPSB0ZXN0X21wc2NfZGF0YS5p dGVyYXRpb25zOworCWludCBuID0gdGVzdF9tcHNjX2RhdGEudGhyZWFkczsKKworCWZvciAoaXQg PSAxOyBpdCA8PSBpdGVyYXRpb25zOyBpdCsrKSB7CisJCWZlbmNlID0gc3dfc3luY19mZW5jZV9j cmVhdGUocHJvZF90aW1lbGluZVswXSwgaXQpOworCQlmb3IgKGkgPSAxOyBpIDwgbjsgaSsrKSB7 CisJCQl0bXAgPSBzd19zeW5jX2ZlbmNlX2NyZWF0ZShwcm9kX3RpbWVsaW5lW2ldLCBpdCk7CisJ CQltZXJnZWQgPSBzd19zeW5jX21lcmdlKHRtcCwgZmVuY2UpOworCQkJY2xvc2UodG1wKTsKKwkJ CWNsb3NlKGZlbmNlKTsKKwkJCWZlbmNlID0gbWVyZ2VkOworCQl9CisKKwkJLyogTWFrZSBzdXJl IHdlIHNlZSBhbiBpbmNyZW1lbnQgZnJvbSBldmVyeSBwcm9kdWNlciB0aHJlYWQuCisJCSAqIFZh cnkgdGhlIG1lYW5zIGJ5IHdoaWNoIHdlIHdhaXQuCisJCSAqLworCQlpZiAoaXRlcmF0aW9ucyAl IDggIT0gMCkgeworCQkJaWd0X2Fzc2VydF9mKHN3X3N5bmNfd2FpdChmZW5jZSwgLTEpID09IDAs CisJCQkJICAgICJQcm9kdWNlcnMgZGlkIG5vdCBpbmNyZW1lbnQgYXMgZXhwZWN0ZWRcbiIpOwor CQl9IGVsc2UgeworCQkJaWd0X2Fzc2VydF9mKHRlc3RfbXNwY193YWl0X29uX2ZlbmNlKGZlbmNl KSA9PSAwLAorCQkJCSAgICAgIkZhaWx1cmUgd2FpdGluZyBvbiBmZW5jZVxuIik7CisJCX0KKwor CQlpZ3RfYXNzZXJ0X2YodGVzdF9tcHNjX2RhdGEuY291bnRlciA9PSBuICogaXQsCisJCQkgICAg ICJDb3VudGVyIHZhbHVlIG1pc21hdGNoXG4iKTsKKworCQkvKiBSZWxlYXNlIHRoZSBwcm9kdWNl ciB0aHJlYWRzICovCisJCXN3X3N5bmNfdGltZWxpbmVfaW5jKGNvbnNfdGltZWxpbmUsIDEpOwor CQljbG9zZShmZW5jZSk7CisJfQorCisJcmV0dXJuIDA7Cit9CisKKy8qIElNUE9SVEFOVCBOT1RF OiBpZiB5b3Ugc2VlIHRoaXMgdGVzdCBmYWlsaW5nIG9uIHlvdXIgc3lzdGVtLCBpdCBtYXkgYmUK KyAqIGR1ZSB0byBhIHNob3J0YWdlIG9mIGZpbGUgZGVzY3JpcHRvcnMuIFBsZWFzZSBlbnN1cmUg eW91ciBzeXN0ZW0gaGFzCisgKiBhIHNlbnNpYmxlIGxpbWl0IGZvciB0aGlzIHRlc3QgdG8gZmlu aXNoIGNvcnJlY3RseS4KKyAqLworc3RhdGljIHZvaWQgdGVzdF9zeW5jX211bHRpX3Byb2R1Y2Vy X3NpbmdsZV9jb25zdW1lcih2b2lkKQoreworCWludCBpdGVyYXRpb25zID0gMSA8PCAxMjsKKwlp bnQgbiA9IDU7CisJaW50IHByb2RfdGltZWxpbmVbbl07CisJaW50IGNvbnNfdGltZWxpbmU7CisJ cHRocmVhZF90IHRocmVhZHNbbl07CisJbG9uZyBpOworCisJY29uc190aW1lbGluZSA9IHN3X3N5 bmNfdGltZWxpbmVfY3JlYXRlKCk7CisJZm9yIChpID0gMDsgaSA8IG47IGkrKykKKwkJcHJvZF90 aW1lbGluZVtpXSA9IHN3X3N5bmNfdGltZWxpbmVfY3JlYXRlKCk7CisKKwl0ZXN0X21wc2NfZGF0 YS5wcm9kX3RpbWVsaW5lID0gcHJvZF90aW1lbGluZTsKKwl0ZXN0X21wc2NfZGF0YS5jb25zX3Rp bWVsaW5lID0gY29uc190aW1lbGluZTsKKwl0ZXN0X21wc2NfZGF0YS5pdGVyYXRpb25zID0gaXRl cmF0aW9uczsKKwl0ZXN0X21wc2NfZGF0YS50aHJlYWRzID0gbjsKKwl0ZXN0X21wc2NfZGF0YS5j b3VudGVyID0gMDsKKwlwdGhyZWFkX211dGV4X2luaXQoJnRlc3RfbXBzY19kYXRhLmxvY2ssIE5V TEwpOworCisJZm9yIChpID0gMDsgaSA8IG47IGkrKykgeworCQlwdGhyZWFkX2NyZWF0ZSgmdGhy ZWFkc1tpXSwgTlVMTCwgKHZvaWQgKiAoKikodm9pZCAqKSkKKwkJCSAgICAgICBtcHNjX3Byb2R1 Y2VyX3RocmVhZCwKKwkJCSAgICAgICAodm9pZCAqKWkpOworCX0KKworCW1wc2NfY29uc3VtZXJf dGhyZWFkKCk7CisKKwlmb3IgKGkgPSAwOyBpIDwgbjsgaSsrKQorCQlwdGhyZWFkX2pvaW4odGhy ZWFkc1tpXSwgTlVMTCk7Cit9CisKIHN0YXRpYyB2b2lkIHRlc3Rfc3luY19yYW5kb21fbWVyZ2Uo dm9pZCkKIHsKIAlpbnQgaSwgc2l6ZSwgcmV0OwpAQCAtNTQ5LDYgKzY4NSw5IEBAIGlndF9tYWlu CiAJaWd0X3N1YnRlc3QoInN5bmNfbXVsdGlfY29uc3VtZXJfcHJvZHVjZXIiKQogCQl0ZXN0X3N5 bmNfbXVsdGlfY29uc3VtZXJfcHJvZHVjZXIoKTsKIAorCWlndF9zdWJ0ZXN0KCJzeW5jX211bHRp X3Byb2R1Y2VyX3NpbmdsZV9jb25zdW1lciIpCisJCXRlc3Rfc3luY19tdWx0aV9wcm9kdWNlcl9z aW5nbGVfY29uc3VtZXIoKTsKKwogCWlndF9zdWJ0ZXN0KCJzeW5jX3JhbmRvbV9tZXJnZSIpCiAJ CXRlc3Rfc3luY19yYW5kb21fbWVyZ2UoKTsKIH0KLS0gCjIuOS4zCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0Cklu dGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK