From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: Chris Wilson Date: Fri, 10 Aug 2018 12:01:48 +0100 Message-Id: <20180810110149.10771-2-chris@chris-wilson.co.uk> In-Reply-To: <20180810110149.10771-1-chris@chris-wilson.co.uk> References: <20180810110149.10771-1-chris@chris-wilson.co.uk> Subject: [igt-dev] [PATCH i-g-t 2/3] gem_sync: Measure wakeup latency while also scheduling the next batch 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: TW9yZSB2YXJpYW50cyBvbiBzdHJlc3Mgd2FpdHMgdG8gc2VydmUgdGhlIGR1YWwgcHVycG9zZSBv ZiBpbnZlc3RpZ2F0aW5nCmRpZmZlcmVudCBhc3BlY3RzIG9mIHRoZSBsYXRlbmN5ICh0aGlzIHRp bWUgd2hpbGUgYWxzbyBzZXJ2aW5nCmV4ZWNsaXN0cyBpbnRlcnJ1cHRzKSB3aGlsZSBhbHNvIGNo ZWNraW5nIHRoYXQgd2UgbmV2ZXIgbWlzcyB0aGUgd2FrZXVwLgoKU2lnbmVkLW9mZi1ieTogQ2hy aXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+Ci0tLQogdGVzdHMvZ2VtX3N5bmMu YyB8IDE0MiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwog MSBmaWxlIGNoYW5nZWQsIDE0MiBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvdGVzdHMvZ2Vt X3N5bmMuYyBiL3Rlc3RzL2dlbV9zeW5jLmMKaW5kZXggNDk1Y2EzYjUzLi5jNjk3MjIwYWQgMTAw NjQ0Ci0tLSBhL3Rlc3RzL2dlbV9zeW5jLmMKKysrIGIvdGVzdHMvZ2VtX3N5bmMuYwpAQCAtMjk0 LDYgKzI5NCwxNDQgQEAgd2FrZXVwX3JpbmcoaW50IGZkLCB1bnNpZ25lZCByaW5nLCBpbnQgdGlt ZW91dCwgaW50IHdsZW4pCiAJaWd0X2Fzc2VydF9lcShpbnRlbF9kZXRlY3RfYW5kX2NsZWFyX21p c3NlZF9pbnRlcnJ1cHRzKGZkKSwgMCk7CiB9CiAKK3N0YXRpYyB2b2lkCithY3RpdmVfd2FrZXVw X3JpbmcoaW50IGZkLCB1bnNpZ25lZCByaW5nLCBpbnQgdGltZW91dCwgaW50IHdsZW4pCit7CisJ dW5zaWduZWQgZW5naW5lc1sxNl07CisJY29uc3QgY2hhciAqbmFtZXNbMTZdOworCWludCBudW1f ZW5naW5lcyA9IDA7CisKKwlpZiAocmluZyA9PSBBTExfRU5HSU5FUykgeworCQlmb3JfZWFjaF9w aHlzaWNhbF9lbmdpbmUoZmQsIHJpbmcpIHsKKwkJCWlmICghZ2VtX2Nhbl9zdG9yZV9kd29yZChm ZCwgcmluZykpCisJCQkJY29udGludWU7CisKKwkJCW5hbWVzW251bV9lbmdpbmVzXSA9IGVfXy0+ bmFtZTsKKwkJCWVuZ2luZXNbbnVtX2VuZ2luZXMrK10gPSByaW5nOworCQkJaWYgKG51bV9lbmdp bmVzID09IEFSUkFZX1NJWkUoZW5naW5lcykpCisJCQkJYnJlYWs7CisJCX0KKwkJaWd0X3JlcXVp cmUobnVtX2VuZ2luZXMpOworCX0gZWxzZSB7CisJCWdlbV9yZXF1aXJlX3JpbmcoZmQsIHJpbmcp OworCQlpZ3RfcmVxdWlyZShnZW1fY2FuX3N0b3JlX2R3b3JkKGZkLCByaW5nKSk7CisJCW5hbWVz W251bV9lbmdpbmVzXSA9IE5VTEw7CisJCWVuZ2luZXNbbnVtX2VuZ2luZXMrK10gPSByaW5nOwor CX0KKworCWludGVsX2RldGVjdF9hbmRfY2xlYXJfbWlzc2VkX2ludGVycnVwdHMoZmQpOworCWln dF9mb3JrKGNoaWxkLCBudW1fZW5naW5lcykgeworCQljb25zdCB1aW50MzJfdCBiYmUgPSBNSV9C QVRDSF9CVUZGRVJfRU5EOworCQlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2V4ZWNfb2JqZWN0MiBvYmpl Y3Q7CisJCXN0cnVjdCBkcm1faTkxNV9nZW1fZXhlY2J1ZmZlcjIgZXhlY2J1ZjsKKwkJZG91Ymxl IGVuZCwgdGhpcywgZWxhcHNlZCwgbm93LCBiYXNlbGluZTsKKwkJdW5zaWduZWQgbG9uZyBjeWNs ZXM7CisJCWlndF9zcGluX3QgKnNwaW5bMl07CisJCXVpbnQzMl90IGNtZDsKKworCQltZW1zZXQo Jm9iamVjdCwgMCwgc2l6ZW9mKG9iamVjdCkpOworCQlvYmplY3QuaGFuZGxlID0gZ2VtX2NyZWF0 ZShmZCwgNDA5Nik7CisJCWdlbV93cml0ZShmZCwgb2JqZWN0LmhhbmRsZSwgMCwgJmJiZSwgc2l6 ZW9mKGJiZSkpOworCisJCW1lbXNldCgmZXhlY2J1ZiwgMCwgc2l6ZW9mKGV4ZWNidWYpKTsKKwkJ ZXhlY2J1Zi5idWZmZXJzX3B0ciA9IHRvX3VzZXJfcG9pbnRlcigmb2JqZWN0KTsKKwkJZXhlY2J1 Zi5idWZmZXJfY291bnQgPSAxOworCQlleGVjYnVmLmZsYWdzID0gZW5naW5lc1tjaGlsZCAlIG51 bV9lbmdpbmVzXTsKKworCQlzcGluWzBdID0gX19pZ3Rfc3Bpbl9iYXRjaF9uZXcoZmQsCisJCQkJ CSAgICAgICAuZW5naW5lID0gZXhlY2J1Zi5mbGFncywKKwkJCQkJICAgICAgIC5mbGFncyA9IChJ R1RfU1BJTl9QT0xMX1JVTiB8CisJCQkJCQkJIElHVF9TUElOX0ZBU1QpKTsKKwkJaWd0X2Fzc2Vy dChzcGluWzBdLT5ydW5uaW5nKTsKKwkJY21kID0gKnNwaW5bMF0tPmJhdGNoOworCisJCXNwaW5b MV0gPSBfX2lndF9zcGluX2JhdGNoX25ldyhmZCwKKwkJCQkJICAgICAgIC5lbmdpbmUgPSBleGVj YnVmLmZsYWdzLAorCQkJCQkgICAgICAgLmZsYWdzID0gKElHVF9TUElOX1BPTExfUlVOIHwKKwkJ CQkJCQkgSUdUX1NQSU5fRkFTVCkpOworCisJCWdlbV9leGVjYnVmKGZkLCAmZXhlY2J1Zik7CisK KwkJaWd0X3NwaW5fYmF0Y2hfZW5kKHNwaW5bMV0pOworCQlpZ3Rfc3Bpbl9iYXRjaF9lbmQoc3Bp blswXSk7CisJCWdlbV9zeW5jKGZkLCBvYmplY3QuaGFuZGxlKTsKKworCQlmb3IgKGludCB3YXJt dXAgPSAwOyB3YXJtdXAgPD0gMTsgd2FybXVwKyspIHsKKwkJCSpzcGluWzBdLT5iYXRjaCA9IGNt ZDsKKwkJCSpzcGluWzBdLT5ydW5uaW5nID0gMDsKKwkJCWdlbV9leGVjYnVmKGZkLCAmc3Bpblsw XS0+ZXhlY2J1Zik7CisKKwkJCWVuZCA9IGdldHRpbWUoKSArIHRpbWVvdXQvMTAuOworCQkJZWxh cHNlZCA9IDA7CisJCQljeWNsZXMgPSAwOworCQkJZG8geworCQkJCXdoaWxlICghUkVBRF9PTkNF KCpzcGluWzBdLT5ydW5uaW5nKSkKKwkJCQkJOworCisJCQkJKnNwaW5bMV0tPmJhdGNoID0gY21k OworCQkJCSpzcGluWzFdLT5ydW5uaW5nID0gMDsKKwkJCQlnZW1fZXhlY2J1ZihmZCwgJnNwaW5b MV0tPmV4ZWNidWYpOworCisJCQkJdGhpcyA9IGdldHRpbWUoKTsKKwkJCQlpZ3Rfc3Bpbl9iYXRj aF9lbmQoc3BpblswXSk7CisJCQkJZ2VtX3N5bmMoZmQsIHNwaW5bMF0tPmhhbmRsZSk7CisJCQkJ bm93ID0gZ2V0dGltZSgpOworCisJCQkJZWxhcHNlZCArPSBub3cgLSB0aGlzOworCQkJCWN5Y2xl cysrOworCQkJCWlndF9zd2FwKHNwaW5bMF0sIHNwaW5bMV0pOworCQkJfSB3aGlsZSAobm93IDwg ZW5kKTsKKwkJCWlndF9zcGluX2JhdGNoX2VuZChzcGluWzBdKTsKKwkJCWJhc2VsaW5lID0gZWxh cHNlZCAvIGN5Y2xlczsKKwkJfQorCQlpZ3RfaW5mbygiJXMlc2FzZWxpbmUgJWxkIGN5Y2xlczog JS4zZiB1c1xuIiwKKwkJCSBuYW1lc1tjaGlsZCAlIG51bV9lbmdpbmVzXSA/OiAiIiwKKwkJCSBu YW1lc1tjaGlsZCAlIG51bV9lbmdpbmVzXSA/ICIgYiIgOiAiQiIsCisJCQkgY3ljbGVzLCBlbGFw c2VkKjFlNi9jeWNsZXMpOworCisJCSpzcGluWzBdLT5iYXRjaCA9IGNtZDsKKwkJKnNwaW5bMF0t PnJ1bm5pbmcgPSAwOworCQlnZW1fZXhlY2J1ZihmZCwgJnNwaW5bMF0tPmV4ZWNidWYpOworCisJ CWVuZCA9IGdldHRpbWUoKSArIHRpbWVvdXQ7CisJCWVsYXBzZWQgPSAwOworCQljeWNsZXMgPSAw OworCQlkbyB7CisJCQl3aGlsZSAoIVJFQURfT05DRSgqc3BpblswXS0+cnVubmluZykpCisJCQkJ OworCisJCQlmb3IgKGludCBuID0gMDsgbiA8IHdsZW47IG4rKykKKwkJCQlnZW1fZXhlY2J1Zihm ZCwgJmV4ZWNidWYpOworCisJCQkqc3BpblsxXS0+YmF0Y2ggPSBjbWQ7CisJCQkqc3BpblsxXS0+ cnVubmluZyA9IDA7CisJCQlnZW1fZXhlY2J1ZihmZCwgJnNwaW5bMV0tPmV4ZWNidWYpOworCisJ CQl0aGlzID0gZ2V0dGltZSgpOworCQkJaWd0X3NwaW5fYmF0Y2hfZW5kKHNwaW5bMF0pOworCQkJ Z2VtX3N5bmMoZmQsIG9iamVjdC5oYW5kbGUpOworCQkJbm93ID0gZ2V0dGltZSgpOworCisJCQll bGFwc2VkICs9IG5vdyAtIHRoaXM7CisJCQljeWNsZXMrKzsKKwkJCWlndF9zd2FwKHNwaW5bMF0s IHNwaW5bMV0pOworCQl9IHdoaWxlIChub3cgPCBlbmQpOworCQlpZ3Rfc3Bpbl9iYXRjaF9lbmQo c3BpblswXSk7CisJCWVsYXBzZWQgLT0gY3ljbGVzICogYmFzZWxpbmU7CisKKwkJaWd0X2luZm8o IiVzJXNvbXBsZXRlZCAlbGQgY3ljbGVzOiAlLjNmICsgJS4zZiB1c1xuIiwKKwkJCSBuYW1lc1tj aGlsZCAlIG51bV9lbmdpbmVzXSA/OiAiIiwKKwkJCSBuYW1lc1tjaGlsZCAlIG51bV9lbmdpbmVz XSA/ICIgYyIgOiAiQyIsCisJCQkgY3ljbGVzLCAxZTYqYmFzZWxpbmUsIGVsYXBzZWQqMWU2L2N5 Y2xlcyk7CisKKwkJaWd0X3NwaW5fYmF0Y2hfZnJlZShmZCwgc3BpblsxXSk7CisJCWlndF9zcGlu X2JhdGNoX2ZyZWUoZmQsIHNwaW5bMF0pOworCQlnZW1fY2xvc2UoZmQsIG9iamVjdC5oYW5kbGUp OworCX0KKwlpZ3Rfd2FpdGNoaWxkcmVuX3RpbWVvdXQoMip0aW1lb3V0LCBOVUxMKTsKKwlpZ3Rf YXNzZXJ0X2VxKGludGVsX2RldGVjdF9hbmRfY2xlYXJfbWlzc2VkX2ludGVycnVwdHMoZmQpLCAw KTsKK30KKwogc3RhdGljIHZvaWQKIHN0b3JlX3JpbmcoaW50IGZkLCB1bnNpZ25lZCByaW5nLCBp bnQgbnVtX2NoaWxkcmVuLCBpbnQgdGltZW91dCkKIHsKQEAgLTEwMTgsNiArMTE1Niw4IEBAIGln dF9tYWluCiAJCQlpZGxlX3JpbmcoZmQsIGUtPmV4ZWNfaWQgfCBlLT5mbGFncywgMTUwKTsKIAkJ aWd0X3N1YnRlc3RfZigid2FrZXVwLSVzIiwgZS0+bmFtZSkKIAkJCXdha2V1cF9yaW5nKGZkLCBl LT5leGVjX2lkIHwgZS0+ZmxhZ3MsIDE1MCwgMSk7CisJCWlndF9zdWJ0ZXN0X2YoImFjdGl2ZS13 YWtldXAtJXMiLCBlLT5uYW1lKQorCQkJYWN0aXZlX3dha2V1cF9yaW5nKGZkLCBlLT5leGVjX2lk IHwgZS0+ZmxhZ3MsIDE1MCwgMSk7CiAJCWlndF9zdWJ0ZXN0X2YoImRvdWJsZS13YWtldXAtJXMi LCBlLT5uYW1lKQogCQkJd2FrZXVwX3JpbmcoZmQsIGUtPmV4ZWNfaWQgfCBlLT5mbGFncywgMTUw LCAyKTsKIAkJaWd0X3N1YnRlc3RfZigic3RvcmUtJXMiLCBlLT5uYW1lKQpAQCAtMTA1MCw2ICsx MTkwLDggQEAgaWd0X21haW4KIAkJc3RvcmVfcmluZyhmZCwgQUxMX0VOR0lORVMsIG5jcHVzLCAx NTApOwogCWlndF9zdWJ0ZXN0KCJ3YWtldXAtZWFjaCIpCiAJCXdha2V1cF9yaW5nKGZkLCBBTExf RU5HSU5FUywgMTUwLCAxKTsKKwlpZ3Rfc3VidGVzdCgiYWN0aXZlLXdha2V1cC1lYWNoIikKKwkJ YWN0aXZlX3dha2V1cF9yaW5nKGZkLCBBTExfRU5HSU5FUywgMTUwLCAxKTsKIAlpZ3Rfc3VidGVz dCgiZG91YmxlLXdha2V1cC1lYWNoIikKIAkJd2FrZXVwX3JpbmcoZmQsIEFMTF9FTkdJTkVTLCAx NTAsIDIpOwogCi0tIAoyLjE4LjAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fCmlndC1kZXYgbWFpbGluZyBsaXN0CmlndC1kZXZAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaWd0 LWRldgo=