From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lionel Landwerlin Subject: [PATCH v2 08/10] tests/perf: make buffer-fill more reliable Date: Wed, 23 Aug 2017 10:43:16 +0100 Message-ID: <20170823094318.18966-9-lionel.g.landwerlin@intel.com> References: <20170823094318.18966-1-lionel.g.landwerlin@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7C33A6E56E for ; Wed, 23 Aug 2017 09:43:31 +0000 (UTC) In-Reply-To: <20170823094318.18966-1-lionel.g.landwerlin@intel.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 List-Id: intel-gfx@lists.freedesktop.org RmlsbGluZyByYXRlIG9mIHRoZSBidWZmZXIgbXVzdCBkaXNjYXJkIGNvbnRleHQgc3dpdGNoIHJl cG9ydHMgYXMgdGhleQpkbyBub3QgZGVwZW5kIHVwb24gdGhlIHBlcmlvZGljaXR5LCBpbnN0ZWFk IHRoZXkncmUgYSBmYWN0b3Igb24gdGhlCmFtb3VudCBvZiBkaWZmZXJlbnQgYXBwbGljYXRpb25z IGNvbmN1cnJlbnRseSBydW5uaW5nIG9uIHRoZSBzeXN0ZW0uCgpTaWduZWQtb2ZmLWJ5OiBMaW9u ZWwgTGFuZHdlcmxpbiA8bGlvbmVsLmcubGFuZHdlcmxpbkBpbnRlbC5jb20+ClRlc3RlZC1ieTog TWF0dGhldyBBdWxkIDxtYXR0aGV3LmF1bGRAaW50ZWwuY29tPgpSZXZpZXdlZC1ieTogTWF0dGhl dyBBdWxkIDxtYXR0aGV3LmF1bGRAaW50ZWwuY29tPgotLS0KIHRlc3RzL3BlcmYuYyB8IDEyMCAr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0t LQogMSBmaWxlIGNoYW5nZWQsIDEwMyBpbnNlcnRpb25zKCspLCAxNyBkZWxldGlvbnMoLSkKCmRp ZmYgLS1naXQgYS90ZXN0cy9wZXJmLmMgYi90ZXN0cy9wZXJmLmMKaW5kZXggMjk5NzA2Y2QuLjRh MmNjMzhkIDEwMDY0NAotLS0gYS90ZXN0cy9wZXJmLmMKKysrIGIvdGVzdHMvcGVyZi5jCkBAIC0y Njg3LDIyICsyNjg3LDMwIEBAIHRlc3RfYnVmZmVyX2ZpbGwodm9pZCkKIAkJLm51bV9wcm9wZXJ0 aWVzID0gc2l6ZW9mKHByb3BlcnRpZXMpIC8gMTYsCiAJCS5wcm9wZXJ0aWVzX3B0ciA9IHRvX3Vz ZXJfcG9pbnRlcihwcm9wZXJ0aWVzKSwKIAl9OworCXN0cnVjdCBkcm1faTkxNV9wZXJmX3JlY29y ZF9oZWFkZXIgKmhlYWRlcjsKIAlpbnQgYnVmX3NpemUgPSA2NTUzNiAqICgyNTYgKyBzaXplb2Yo c3RydWN0IGRybV9pOTE1X3BlcmZfcmVjb3JkX2hlYWRlcikpOwogCXVpbnQ4X3QgKmJ1ZiA9IG1h bGxvYyhidWZfc2l6ZSk7CisJaW50IGxlbjsKIAlzaXplX3Qgb2FfYnVmX3NpemUgPSAxNiAqIDEw MjQgKiAxMDI0OwogCXNpemVfdCByZXBvcnRfc2l6ZSA9IG9hX2Zvcm1hdHNbdGVzdF9vYV9mb3Jt YXRdLnNpemU7CiAJaW50IG5fZnVsbF9vYV9yZXBvcnRzID0gb2FfYnVmX3NpemUgLyByZXBvcnRf c2l6ZTsKIAl1aW50NjRfdCBmaWxsX2R1cmF0aW9uID0gbl9mdWxsX29hX3JlcG9ydHMgKiBvYV9w ZXJpb2Q7CiAKKwlsb2FkX2hlbHBlcl9pbml0KCk7CisJbG9hZF9oZWxwZXJfcnVuKEhJR0gpOwor CiAJaWd0X2Fzc2VydChmaWxsX2R1cmF0aW9uIDwgMTAwMDAwMDAwMCk7CiAKIAlzdHJlYW1fZmQg PSBfX3BlcmZfb3Blbihkcm1fZmQsICZwYXJhbSk7CiAKIAlmb3IgKGludCBpID0gMDsgaSA8IDU7 IGkrKykgewotCQlzdHJ1Y3QgZHJtX2k5MTVfcGVyZl9yZWNvcmRfaGVhZGVyICpoZWFkZXI7CiAJ CWJvb2wgb3ZlcmZsb3dfc2VlbjsKLQkJaW50IG9mZnNldCA9IDA7Ci0JCWludCBsZW47CisJCXVp bnQzMl90IG5fcGVyaW9kaWNfcmVwb3J0czsKKwkJdWludDMyX3QgZmlyc3RfdGltZXN0YW1wID0g MCwgbGFzdF90aW1lc3RhbXAgPSAwOworCQl1aW50MzJfdCBsYXN0X3BlcmlvZGljX3JlcG9ydFs2 NF07CisJCWRvdWJsZSB0aWNrX3Blcl9wZXJpb2Q7CisKKwkJZG9faW9jdGwoc3RyZWFtX2ZkLCBJ OTE1X1BFUkZfSU9DVExfRU5BQkxFLCAwKTsKIAogCQluYW5vc2xlZXAoJihzdHJ1Y3QgdGltZXNw ZWMpeyAudHZfc2VjID0gMCwKIAkJCQkJICAgICAgLnR2X25zZWMgPSBmaWxsX2R1cmF0aW9uICog MS4yNSB9LApAQCAtMjcxNCw3ICsyNzIyLDcgQEAgdGVzdF9idWZmZXJfZmlsbCh2b2lkKQogCQlp Z3RfYXNzZXJ0X25lcShsZW4sIC0xKTsKIAogCQlvdmVyZmxvd19zZWVuID0gZmFsc2U7Ci0JCWZv ciAob2Zmc2V0ID0gMDsgb2Zmc2V0IDwgbGVuOyBvZmZzZXQgKz0gaGVhZGVyLT5zaXplKSB7CisJ CWZvciAoaW50IG9mZnNldCA9IDA7IG9mZnNldCA8IGxlbjsgb2Zmc2V0ICs9IGhlYWRlci0+c2l6 ZSkgewogCQkJaGVhZGVyID0gKHZvaWQgKikoYnVmICsgb2Zmc2V0KTsKIAogCQkJaWYgKGhlYWRl ci0+dHlwZSA9PSBEUk1fSTkxNV9QRVJGX1JFQ09SRF9PQV9CVUZGRVJfTE9TVCkKQEAgLTI3MjMs MzIgKzI3MzEsMTEwIEBAIHRlc3RfYnVmZmVyX2ZpbGwodm9pZCkKIAogCQlpZ3RfYXNzZXJ0X2Vx KG92ZXJmbG93X3NlZW4sIHRydWUpOwogCisJCWRvX2lvY3RsKHN0cmVhbV9mZCwgSTkxNV9QRVJG X0lPQ1RMX0RJU0FCTEUsIDApOworCisJCWlndF9kZWJ1ZygiZmlsbF9kdXJhdGlvbiA9ICVsdW5z LCBvYV9leHBvbmVudCA9ICV1XG4iLAorCQkJICBmaWxsX2R1cmF0aW9uLCBvYV9leHBvbmVudCk7 CisKKwkJZG9faW9jdGwoc3RyZWFtX2ZkLCBJOTE1X1BFUkZfSU9DVExfRU5BQkxFLCAwKTsKKwog CQluYW5vc2xlZXAoJihzdHJ1Y3QgdGltZXNwZWMpeyAudHZfc2VjID0gMCwKLQkJCQkJICAgICAg LnR2X25zZWMgPSBmaWxsX2R1cmF0aW9uIC8gMiB9LAotCQkJICBOVUxMKTsKKwkJCQkJLnR2X25z ZWMgPSBmaWxsX2R1cmF0aW9uIC8gMiB9LAorCQkJTlVMTCk7CiAKLQkJd2hpbGUgKChsZW4gPSBy ZWFkKHN0cmVhbV9mZCwgYnVmLCBidWZfc2l6ZSkpID09IC0xICYmIGVycm5vID09IEVJTlRSKQot CQkJOworCQluX3BlcmlvZGljX3JlcG9ydHMgPSAwOwogCi0JCWlndF9hc3NlcnRfbmVxKGxlbiwg LTEpOworCQkvKiBCZWNhdXNlIG9mIHRoZSByYWNlIGNvbmRpdGlvbiBiZXR3ZWVuIG5vdGlmaWNh dGlvbiBvZiBuZXcKKwkJICogcmVwb3J0cyBhbmQgcmVwb3J0cyBsYW5kaW5nIGluIG1lbW9yeSwg d2UgbmVlZCB0byByZWx5IG9uCisJCSAqIHRpbWVzdGFtcHMgdG8gZmlndXJlIHdoZXRoZXIgd2Un dmUgcmVhZCBlbm91Z2ggb2YgdGhlbS4KKwkJICovCisJCXdoaWxlICgoKGxhc3RfdGltZXN0YW1w IC0gZmlyc3RfdGltZXN0YW1wKSAqIG9hX3BlcmlvZCkgPCAoZmlsbF9kdXJhdGlvbiAvIDIpKSB7 CiAKLQkJaWd0X2Fzc2VydChsZW4gPiByZXBvcnRfc2l6ZSAqIG5fZnVsbF9vYV9yZXBvcnRzICog MC40NSk7Ci0JCWlndF9hc3NlcnQobGVuIDwgcmVwb3J0X3NpemUgKiBuX2Z1bGxfb2FfcmVwb3J0 cyAqIDAuNTUpOworCQkJaWd0X2RlYnVnKCJkdHM9JXUgZWxhcHNlZD0lbHUgZHVyYXRpb249JWx1 XG4iLAorCQkJCSAgbGFzdF90aW1lc3RhbXAgLSBmaXJzdF90aW1lc3RhbXAsCisJCQkJICAobGFz dF90aW1lc3RhbXAgLSBmaXJzdF90aW1lc3RhbXApICogb2FfcGVyaW9kLAorCQkJCSAgZmlsbF9k dXJhdGlvbiAvIDIpOwogCi0JCW92ZXJmbG93X3NlZW4gPSBmYWxzZTsKLQkJZm9yIChvZmZzZXQg PSAwOyBvZmZzZXQgPCBsZW47IG9mZnNldCArPSBoZWFkZXItPnNpemUpIHsKLQkJCWhlYWRlciA9 ICh2b2lkICopKGJ1ZiArIG9mZnNldCk7CisJCQl3aGlsZSAoKGxlbiA9IHJlYWQoc3RyZWFtX2Zk LCBidWYsIGJ1Zl9zaXplKSkgPT0gLTEgJiYgZXJybm8gPT0gRUlOVFIpCisJCQkJOwogCi0JCQlp ZiAoaGVhZGVyLT50eXBlID09IERSTV9JOTE1X1BFUkZfUkVDT1JEX09BX0JVRkZFUl9MT1NUKQot CQkJCW92ZXJmbG93X3NlZW4gPSB0cnVlOworCQkJaWd0X2Fzc2VydF9uZXEobGVuLCAtMSk7CisK KwkJCWZvciAoaW50IG9mZnNldCA9IDA7IG9mZnNldCA8IGxlbjsgb2Zmc2V0ICs9IGhlYWRlci0+ c2l6ZSkgeworCQkJCXVpbnQzMl90ICpyZXBvcnQ7CisJCQkJZG91YmxlIHByZXZpb3VzX3RpY2tf cGVyX3BlcmlvZDsKKworCQkJCWhlYWRlciA9ICh2b2lkICopIChidWYgKyBvZmZzZXQpOworCQkJ CXJlcG9ydCA9ICh2b2lkICopIChoZWFkZXIgKyAxKTsKKworCQkJCXN3aXRjaCAoaGVhZGVyLT50 eXBlKSB7CisJCQkJY2FzZSBEUk1fSTkxNV9QRVJGX1JFQ09SRF9PQV9SRVBPUlRfTE9TVDoKKwkJ CQkJaWd0X2RlYnVnKCJyZXBvcnQgbG9zcywgdHJ5aW5nIGFnYWluXG4iKTsKKwkJCQkJYnJlYWs7 CisJCQkJY2FzZSBEUk1fSTkxNV9QRVJGX1JFQ09SRF9TQU1QTEU6CisJCQkJCWlndF9kZWJ1Zygi ID4gcmVwb3J0IHRzPSV1IgorCQkJCQkJICAiIHRzX2RlbHRhX2xhc3RfcGVyaW9kaWM9JTh1IGlz X3RpbWVyPSVpIGN0eF9pZD0lOHggZ3B1X3RpY2tzPSV1IG5iX3BlcmlvZGljPSV1XG4iLAorCQkJ CQkJICByZXBvcnRbMV0sCisJCQkJCQkgIG5fcGVyaW9kaWNfcmVwb3J0cyA+IDAgPyByZXBvcnRb MV0gLSBsYXN0X3BlcmlvZGljX3JlcG9ydFsxXSA6IDAsCisJCQkJCQkgIG9hX3JlcG9ydF9pc19w ZXJpb2RpYyhvYV9leHBvbmVudCwgcmVwb3J0KSwKKwkJCQkJCSAgb2FfcmVwb3J0X2dldF9jdHhf aWQocmVwb3J0KSwKKwkJCQkJCSAgbl9wZXJpb2RpY19yZXBvcnRzID4gMCA/IHJlcG9ydFszXSAt IGxhc3RfcGVyaW9kaWNfcmVwb3J0WzNdIDogMCwKKwkJCQkJCSAgbl9wZXJpb2RpY19yZXBvcnRz KTsKKworCQkJCQlpZiAoZmlyc3RfdGltZXN0YW1wID09IDApCisJCQkJCQlmaXJzdF90aW1lc3Rh bXAgPSByZXBvcnRbMV07CisJCQkJCWxhc3RfdGltZXN0YW1wID0gcmVwb3J0WzFdOworCisJCQkJ CXByZXZpb3VzX3RpY2tfcGVyX3BlcmlvZCA9IHRpY2tfcGVyX3BlcmlvZDsKKworCQkJCQlpZiAo bl9wZXJpb2RpY19yZXBvcnRzID4gMSAmJgorCQkJCQkgICAgb2FfcmVwb3J0X2lzX3BlcmlvZGlj KG9hX2V4cG9uZW50LCByZXBvcnQpKSB7CisJCQkJCQl0aWNrX3Blcl9wZXJpb2QgPQorCQkJCQkJ CW9hX3JlcG9ydHNfdGlja19wZXJfcGVyaW9kKGxhc3RfcGVyaW9kaWNfcmVwb3J0LAorCQkJCQkJ CQkJCSAgIHJlcG9ydCk7CisKKwkJCQkJCWlmICghZG91YmxlX3ZhbHVlX3dpdGhpbihwcmV2aW91 c190aWNrX3Blcl9wZXJpb2QsCisJCQkJCQkJCQkgdGlja19wZXJfcGVyaW9kLCA1KSkKKwkJCQkJ CQlpZ3RfZGVidWcoImNsb2NrIGNoYW5nZSFcbiIpOworCisJCQkJCQltZW1jcHkobGFzdF9wZXJp b2RpY19yZXBvcnQsIHJlcG9ydCwKKwkJCQkJCSAgICAgICBzaXplb2YobGFzdF9wZXJpb2RpY19y ZXBvcnQpKTsKKwkJCQkJfQorCisJCQkJCS8qIFdlIHdhbnQgdG8gbWVhc3VyZSBvbmx5IHRoZSBw ZXJpb2RpYworCQkJCQkgKiByZXBvcnRzLCBjdHgtc3dpdGNoIG1pZ2h0IGluZmxhdGUgdGhlCisJ CQkJCSAqIGNvbnRlbnQgb2YgdGhlIGJ1ZmZlciBhbmQgc2tldyBvcgorCQkJCQkgKiBtZWFzdXJl bWVudC4KKwkJCQkJICovCisJCQkJCW5fcGVyaW9kaWNfcmVwb3J0cyArPQorCQkJCQkJb2FfcmVw b3J0X2lzX3BlcmlvZGljKG9hX2V4cG9uZW50LCByZXBvcnQpOworCQkJCQlicmVhazsKKwkJCQlj YXNlIERSTV9JOTE1X1BFUkZfUkVDT1JEX09BX0JVRkZFUl9MT1NUOgorCQkJCQlpZ3RfYXNzZXJ0 KCEidW5leHBlY3RlZCBvdmVyZmxvdyIpOworCQkJCQlicmVhazsKKwkJCQl9CisJCQl9CiAJCX0K IAotCQlpZ3RfYXNzZXJ0X2VxKG92ZXJmbG93X3NlZW4sIGZhbHNlKTsKKwkJZG9faW9jdGwoc3Ry ZWFtX2ZkLCBJOTE1X1BFUkZfSU9DVExfRElTQUJMRSwgMCk7CisKKwkJaWd0X2RlYnVnKCIlZiA8 ICVsdSA8ICVmXG4iLAorCQkJICByZXBvcnRfc2l6ZSAqIG5fZnVsbF9vYV9yZXBvcnRzICogMC40 NSwKKwkJCSAgbl9wZXJpb2RpY19yZXBvcnRzICogcmVwb3J0X3NpemUsCisJCQkgIHJlcG9ydF9z aXplICogbl9mdWxsX29hX3JlcG9ydHMgKiAwLjU1KTsKKworCQlpZ3RfYXNzZXJ0KG5fcGVyaW9k aWNfcmVwb3J0cyAqIHJlcG9ydF9zaXplID4KKwkJCSAgIHJlcG9ydF9zaXplICogbl9mdWxsX29h X3JlcG9ydHMgKiAwLjQ1KTsKKwkJaWd0X2Fzc2VydChuX3BlcmlvZGljX3JlcG9ydHMgKiByZXBv cnRfc2l6ZSA8CisJCQkgICByZXBvcnRfc2l6ZSAqIG5fZnVsbF9vYV9yZXBvcnRzICogMC41NSk7 CiAJfQogCiAJZnJlZShidWYpOwogCiAJX19wZXJmX2Nsb3NlKHN0cmVhbV9mZCk7CisKKwlsb2Fk X2hlbHBlcl9zdG9wKCk7CisJbG9hZF9oZWxwZXJfZmluaSgpOwogfQogCiBzdGF0aWMgdm9pZAot LSAKMi4xNC4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcK aHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK