From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: Chris Wilson Date: Fri, 10 Aug 2018 12:01:47 +0100 Message-Id: <20180810110149.10771-1-chris@chris-wilson.co.uk> Subject: [igt-dev] [PATCH i-g-t 1/3] igt/gem_sync: Exercise sync after context switch List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: intel-gfx@lists.freedesktop.org Cc: igt-dev@lists.freedesktop.org List-ID: VGhpcyBleGVyY2lzZXMgYSBzcGVjaWFsIGNhc2UgdGhhdCBtYXkgYmUgb2YgaW50ZXJlc3QsIHdh aXRpbmcgZm9yIGEKY29udGV4dCB0aGF0IG1heSBiZSBwcmVlbXB0ZWQgaW4gb3JkZXIgdG8gcmVk dWNlIHRoZSB3YWl0LgoKU2lnbmVkLW9mZi1ieTogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13 aWxzb24uY28udWs+Ci0tLQogdGVzdHMvZ2VtX3N5bmMuYyB8IDE0NiArKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogMSBmaWxlIGNoYW5nZWQsIDE0NiBpbnNl cnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvdGVzdHMvZ2VtX3N5bmMuYyBiL3Rlc3RzL2dlbV9zeW5j LmMKaW5kZXggNDkzYWU2MWRmLi40OTVjYTNiNTMgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2dlbV9zeW5j LmMKKysrIGIvdGVzdHMvZ2VtX3N5bmMuYwpAQCAtNDA5LDYgKzQwOSwxNDQgQEAgc3RvcmVfcmlu ZyhpbnQgZmQsIHVuc2lnbmVkIHJpbmcsIGludCBudW1fY2hpbGRyZW4sIGludCB0aW1lb3V0KQog CWlndF9hc3NlcnRfZXEoaW50ZWxfZGV0ZWN0X2FuZF9jbGVhcl9taXNzZWRfaW50ZXJydXB0cyhm ZCksIDApOwogfQogCitzdGF0aWMgdm9pZAorc3dpdGNoX3JpbmcoaW50IGZkLCB1bnNpZ25lZCBy aW5nLCBpbnQgbnVtX2NoaWxkcmVuLCBpbnQgdGltZW91dCkKK3sKKwljb25zdCBpbnQgZ2VuID0g aW50ZWxfZ2VuKGludGVsX2dldF9kcm1fZGV2aWQoZmQpKTsKKwl1bnNpZ25lZCBlbmdpbmVzWzE2 XTsKKwljb25zdCBjaGFyICpuYW1lc1sxNl07CisJaW50IG51bV9lbmdpbmVzID0gMDsKKworCWdl bV9yZXF1aXJlX2NvbnRleHRzKGZkKTsKKworCWlmIChyaW5nID09IEFMTF9FTkdJTkVTKSB7CisJ CWZvcl9lYWNoX3BoeXNpY2FsX2VuZ2luZShmZCwgcmluZykgeworCQkJaWYgKCFnZW1fY2FuX3N0 b3JlX2R3b3JkKGZkLCByaW5nKSkKKwkJCQljb250aW51ZTsKKworCQkJbmFtZXNbbnVtX2VuZ2lu ZXNdID0gZV9fLT5uYW1lOworCQkJZW5naW5lc1tudW1fZW5naW5lcysrXSA9IHJpbmc7CisJCQlp ZiAobnVtX2VuZ2luZXMgPT0gQVJSQVlfU0laRShlbmdpbmVzKSkKKwkJCQlicmVhazsKKwkJfQor CisJCW51bV9jaGlsZHJlbiAqPSBudW1fZW5naW5lczsKKwl9IGVsc2UgeworCQlnZW1fcmVxdWly ZV9yaW5nKGZkLCByaW5nKTsKKwkJaWd0X3JlcXVpcmUoZ2VtX2Nhbl9zdG9yZV9kd29yZChmZCwg cmluZykpOworCQluYW1lc1tudW1fZW5naW5lc10gPSBOVUxMOworCQllbmdpbmVzW251bV9lbmdp bmVzKytdID0gcmluZzsKKwl9CisKKwlpbnRlbF9kZXRlY3RfYW5kX2NsZWFyX21pc3NlZF9pbnRl cnJ1cHRzKGZkKTsKKwlpZ3RfZm9yayhjaGlsZCwgbnVtX2NoaWxkcmVuKSB7CisJCXN0cnVjdCBj b250ZXh0IHsKKwkJCXN0cnVjdCBkcm1faTkxNV9nZW1fZXhlY19vYmplY3QyIG9iamVjdFsyXTsK KwkJCXN0cnVjdCBkcm1faTkxNV9nZW1fcmVsb2NhdGlvbl9lbnRyeSByZWxvY1sxMDI0XTsKKwkJ CXN0cnVjdCBkcm1faTkxNV9nZW1fZXhlY2J1ZmZlcjIgZXhlY2J1ZjsKKwkJfSBjb250ZXh0c1sy XTsKKwkJZG91YmxlIHN0YXJ0LCBlbGFwc2VkOworCQl1bnNpZ25lZCBsb25nIGN5Y2xlczsKKwor CQlmb3IgKGludCBpID0gMDsgaSA8IEFSUkFZX1NJWkUoY29udGV4dHMpOyBpKyspIHsKKwkJCWNv bnN0IHVpbnQzMl90IGJiZSA9IE1JX0JBVENIX0JVRkZFUl9FTkQ7CisJCQljb25zdCB1aW50MzJf dCBzeiA9IDMyIDw8IDEwOworCQkJc3RydWN0IGNvbnRleHQgKmMgPSAmY29udGV4dHNbaV07CisJ CQl1aW50MzJfdCAqYmF0Y2gsICpiOworCisJCQltZW1zZXQoJmMtPmV4ZWNidWYsIDAsIHNpemVv ZihjLT5leGVjYnVmKSk7CisJCQljLT5leGVjYnVmLmJ1ZmZlcnNfcHRyID0gdG9fdXNlcl9wb2lu dGVyKGMtPm9iamVjdCk7CisJCQljLT5leGVjYnVmLmZsYWdzID0gZW5naW5lc1tjaGlsZCAlIG51 bV9lbmdpbmVzXTsKKwkJCWMtPmV4ZWNidWYuZmxhZ3MgfD0gTE9DQUxfSTkxNV9FWEVDX05PX1JF TE9DOworCQkJYy0+ZXhlY2J1Zi5mbGFncyB8PSBMT0NBTF9JOTE1X0VYRUNfSEFORExFX0xVVDsK KwkJCWlmIChnZW4gPCA2KQorCQkJCWMtPmV4ZWNidWYuZmxhZ3MgfD0gSTkxNV9FWEVDX1NFQ1VS RTsKKwkJCWMtPmV4ZWNidWYucnN2ZDEgPSBnZW1fY29udGV4dF9jcmVhdGUoZmQpOworCisJCQlt ZW1zZXQoYy0+b2JqZWN0LCAwLCBzaXplb2YoYy0+b2JqZWN0KSk7CisJCQljLT5vYmplY3RbMF0u aGFuZGxlID0gZ2VtX2NyZWF0ZShmZCwgNDA5Nik7CisJCQlnZW1fd3JpdGUoZmQsIGMtPm9iamVj dFswXS5oYW5kbGUsIDAsICZiYmUsIHNpemVvZihiYmUpKTsKKwkJCWMtPmV4ZWNidWYuYnVmZmVy X2NvdW50ID0gMTsKKwkJCWdlbV9leGVjYnVmKGZkLCAmYy0+ZXhlY2J1Zik7CisKKwkJCWMtPm9i amVjdFswXS5mbGFncyB8PSBFWEVDX09CSkVDVF9XUklURTsKKwkJCWMtPm9iamVjdFsxXS5oYW5k bGUgPSBnZW1fY3JlYXRlKGZkLCBzeik7CisKKwkJCWMtPm9iamVjdFsxXS5yZWxvY3NfcHRyID0g dG9fdXNlcl9wb2ludGVyKGMtPnJlbG9jKTsKKwkJCWMtPm9iamVjdFsxXS5yZWxvY2F0aW9uX2Nv dW50ID0gMTAyNDsKKworCQkJYmF0Y2ggPSBnZW1fbW1hcF9fY3B1KGZkLCBjLT5vYmplY3RbMV0u aGFuZGxlLCAwLCBzeiwKKwkJCQkJUFJPVF9XUklURSB8IFBST1RfUkVBRCk7CisJCQlnZW1fc2V0 X2RvbWFpbihmZCwgYy0+b2JqZWN0WzFdLmhhbmRsZSwKKwkJCQkJSTkxNV9HRU1fRE9NQUlOX0NQ VSwgSTkxNV9HRU1fRE9NQUlOX0NQVSk7CisKKwkJCW1lbXNldChjLT5yZWxvYywgMCwgc2l6ZW9m KGMtPnJlbG9jKSk7CisJCQliID0gYmF0Y2g7CisJCQlmb3IgKGludCByID0gMDsgciA8IDEwMjQ7 IHIrKykgeworCQkJCXVpbnQ2NF90IG9mZnNldDsKKworCQkJCWMtPnJlbG9jW3JdLnByZXN1bWVk X29mZnNldCA9IGMtPm9iamVjdFswXS5vZmZzZXQ7CisJCQkJYy0+cmVsb2Nbcl0ub2Zmc2V0ID0g KGIgLSBiYXRjaCArIDEpICogc2l6ZW9mKCpiYXRjaCk7CisJCQkJYy0+cmVsb2Nbcl0uZGVsdGEg PSByICogc2l6ZW9mKHVpbnQzMl90KTsKKwkJCQljLT5yZWxvY1tyXS5yZWFkX2RvbWFpbnMgPSBJ OTE1X0dFTV9ET01BSU5fSU5TVFJVQ1RJT047CisJCQkJYy0+cmVsb2Nbcl0ud3JpdGVfZG9tYWlu ID0gSTkxNV9HRU1fRE9NQUlOX0lOU1RSVUNUSU9OOworCisJCQkJb2Zmc2V0ID0gYy0+b2JqZWN0 WzBdLm9mZnNldCArIGMtPnJlbG9jW3JdLmRlbHRhOworCQkJCSpiKysgPSBNSV9TVE9SRV9EV09S RF9JTU0gfCAoZ2VuIDwgNiA/IDEgPDwgMjIgOiAwKTsKKwkJCQlpZiAoZ2VuID49IDgpIHsKKwkJ CQkJKmIrKyA9IG9mZnNldDsKKwkJCQkJKmIrKyA9IG9mZnNldCA+PiAzMjsKKwkJCQl9IGVsc2Ug aWYgKGdlbiA+PSA0KSB7CisJCQkJCSpiKysgPSAwOworCQkJCQkqYisrID0gb2Zmc2V0OworCQkJ CQljLT5yZWxvY1tyXS5vZmZzZXQgKz0gc2l6ZW9mKCpiYXRjaCk7CisJCQkJfSBlbHNlIHsKKwkJ CQkJYlstMV0gLT0gMTsKKwkJCQkJKmIrKyA9IG9mZnNldDsKKwkJCQl9CisJCQkJKmIrKyA9IHI7 CisJCQkJKmIrKyA9IDB4NSA8PCAyMzsKKwkJCX0KKwkJCSpiKysgPSBNSV9CQVRDSF9CVUZGRVJf RU5EOworCQkJaWd0X2Fzc2VydCgoYiAtIGJhdGNoKSpzaXplb2YodWludDMyX3QpIDwgc3opOwor CQkJbXVubWFwKGJhdGNoLCBzeik7CisJCQljLT5leGVjYnVmLmJ1ZmZlcl9jb3VudCA9IDI7CisJ CQlnZW1fZXhlY2J1ZihmZCwgJmMtPmV4ZWNidWYpOworCQkJZ2VtX3N5bmMoZmQsIGMtPm9iamVj dFsxXS5oYW5kbGUpOworCQl9CisKKwkJY3ljbGVzID0gMDsKKwkJZWxhcHNlZCA9IDA7CisJCXN0 YXJ0ID0gZ2V0dGltZSgpOworCQlkbyB7CisJCQlkbyB7CisJCQkJZG91YmxlIHRoaXM7CisKKwkJ CQlnZW1fZXhlY2J1ZihmZCwgJmNvbnRleHRzWzBdLmV4ZWNidWYpOworCQkJCWdlbV9leGVjYnVm KGZkLCAmY29udGV4dHNbMV0uZXhlY2J1Zik7CisKKwkJCQl0aGlzID0gZ2V0dGltZSgpOworCQkJ CWdlbV9zeW5jKGZkLCBjb250ZXh0c1sxXS5vYmplY3RbMV0uaGFuZGxlKTsKKwkJCQllbGFwc2Vk ICs9IGdldHRpbWUoKSAtIHRoaXM7CisKKwkJCQlnZW1fc3luYyhmZCwgY29udGV4dHNbMF0ub2Jq ZWN0WzFdLmhhbmRsZSk7CisJCQl9IHdoaWxlICgrK2N5Y2xlcyAmIDEwMjMpOworCQl9IHdoaWxl ICgoZ2V0dGltZSgpIC0gc3RhcnQpIDwgdGltZW91dCk7CisJCWlndF9pbmZvKCIlcyVzb21wbGV0 ZWQgJWxkIGN5Y2xlczogJS4zZiB1c1xuIiwKKwkJCSBuYW1lc1tjaGlsZCAlIG51bV9lbmdpbmVz XSA/OiAiIiwKKwkJCSBuYW1lc1tjaGlsZCAlIG51bV9lbmdpbmVzXSA/ICIgYyIgOiAiQyIsCisJ CQkgY3ljbGVzLCBlbGFwc2VkKjFlNi9jeWNsZXMpOworCisJCWZvciAoaW50IGkgPSAwOyBpIDwg QVJSQVlfU0laRShjb250ZXh0cyk7IGkrKykgeworCQkJZ2VtX2Nsb3NlKGZkLCBjb250ZXh0c1tp XS5vYmplY3RbMV0uaGFuZGxlKTsKKwkJCWdlbV9jbG9zZShmZCwgY29udGV4dHNbaV0ub2JqZWN0 WzBdLmhhbmRsZSk7CisJCQlnZW1fY29udGV4dF9kZXN0cm95KGZkLCBjb250ZXh0c1tpXS5leGVj YnVmLnJzdmQxKTsKKwkJfQorCX0KKwlpZ3Rfd2FpdGNoaWxkcmVuX3RpbWVvdXQodGltZW91dCsx MCwgTlVMTCk7CisJaWd0X2Fzc2VydF9lcShpbnRlbF9kZXRlY3RfYW5kX2NsZWFyX21pc3NlZF9p bnRlcnJ1cHRzKGZkKSwgMCk7Cit9CisKIHN0YXRpYyB2b2lkIHhjaGcodm9pZCAqYXJyYXksIHVu c2lnbmVkIGksIHVuc2lnbmVkIGopCiB7CiAJdWludDMyX3QgKnUzMiA9IGFycmF5OwpAQCAtODg0 LDYgKzEwMjIsMTAgQEAgaWd0X21haW4KIAkJCXdha2V1cF9yaW5nKGZkLCBlLT5leGVjX2lkIHwg ZS0+ZmxhZ3MsIDE1MCwgMik7CiAJCWlndF9zdWJ0ZXN0X2YoInN0b3JlLSVzIiwgZS0+bmFtZSkK IAkJCXN0b3JlX3JpbmcoZmQsIGUtPmV4ZWNfaWQgfCBlLT5mbGFncywgMSwgMTUwKTsKKwkJaWd0 X3N1YnRlc3RfZigic3dpdGNoLSVzIiwgZS0+bmFtZSkKKwkJCXN3aXRjaF9yaW5nKGZkLCBlLT5l eGVjX2lkIHwgZS0+ZmxhZ3MsIDEsIDE1MCk7CisJCWlndF9zdWJ0ZXN0X2YoImZvcmtlZC1zd2l0 Y2gtJXMiLCBlLT5uYW1lKQorCQkJc3dpdGNoX3JpbmcoZmQsIGUtPmV4ZWNfaWQgfCBlLT5mbGFn cywgbmNwdXMsIDE1MCk7CiAJCWlndF9zdWJ0ZXN0X2YoIm1hbnktJXMiLCBlLT5uYW1lKQogCQkJ c3RvcmVfbWFueShmZCwgZS0+ZXhlY19pZCB8IGUtPmZsYWdzLCAxNTApOwogCQlpZ3Rfc3VidGVz dF9mKCJmb3JrZWQtJXMiLCBlLT5uYW1lKQpAQCAtODk4LDYgKzEwNDAsMTAgQEAgaWd0X21haW4K IAkJc3RvcmVfcmluZyhmZCwgQUxMX0VOR0lORVMsIDEsIDUpOwogCWlndF9zdWJ0ZXN0KCJiYXNp Yy1tYW55LWVhY2giKQogCQlzdG9yZV9tYW55KGZkLCBBTExfRU5HSU5FUywgNSk7CisJaWd0X3N1 YnRlc3QoInN3aXRjaC1lYWNoIikKKwkJc3dpdGNoX3JpbmcoZmQsIEFMTF9FTkdJTkVTLCAxLCAx NTApOworCWlndF9zdWJ0ZXN0KCJmb3JrZWQtc3dpdGNoLWVhY2giKQorCQlzd2l0Y2hfcmluZyhm ZCwgQUxMX0VOR0lORVMsIG5jcHVzLCAxNTApOwogCWlndF9zdWJ0ZXN0KCJmb3JrZWQtZWFjaCIp CiAJCXN5bmNfcmluZyhmZCwgQUxMX0VOR0lORVMsIG5jcHVzLCAxNTApOwogCWlndF9zdWJ0ZXN0 KCJmb3JrZWQtc3RvcmUtZWFjaCIpCi0tIAoyLjE4LjAKCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCmlndC1kZXYgbWFpbGluZyBsaXN0CmlndC1kZXZAbGlz dHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4v bGlzdGluZm8vaWd0LWRldgo=