From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by gabe.freedesktop.org (Postfix) with ESMTPS id 1ACCE895EE for ; Tue, 4 Jun 2019 13:16:00 +0000 (UTC) From: Arkadiusz Hiler Date: Tue, 4 Jun 2019 16:15:55 +0300 Message-Id: <20190604131555.1717-1-arkadiusz.hiler@intel.com> In-Reply-To: <20190604125955.28806-1-arkadiusz.hiler@intel.com> References: <20190604125955.28806-1-arkadiusz.hiler@intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t v2] tests/gem_exec_balancer: Manually calculate VLA struct sizes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: igt-dev@lists.freedesktop.org List-ID: VkxBIGluIHN0cnVjdHMgKHN0cnVjdCB7IGludCBhcnJheVtjb3VudF0gfSkgaXMgYSBHQ0MgZXh0 ZW5zaW9uLCBzbwpsZXQncyBhdm9pZCB1c2luZyBpdC4KCnYyOiBkb24ndCBiZSBvdmVyemVhbG91 cyBpbiBjb252ZXJ0aW5nIHN0YXRpYy1zaXplIHN0cnVjdHMKCkNjOiBDaHJpcyBXaWxzb24gPGNo cmlzQGNocmlzLXdpbHNvbi5jby51az4KQ2M6IFNpbW9uIFNlciA8c2ltb24uc2VyQGludGVsLmNv bT4KU2lnbmVkLW9mZi1ieTogQXJrYWRpdXN6IEhpbGVyIDxhcmthZGl1c3ouaGlsZXJAaW50ZWwu Y29tPgotLS0KIHRlc3RzL2k5MTUvZ2VtX2V4ZWNfYmFsYW5jZXIuYyB8IDY0ICsrKysrKysrKysr KysrKysrKysrKystLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA0MiBpbnNlcnRpb25zKCsp LCAyMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS90ZXN0cy9pOTE1L2dlbV9leGVjX2JhbGFu Y2VyLmMgYi90ZXN0cy9pOTE1L2dlbV9leGVjX2JhbGFuY2VyLmMKaW5kZXggMzNiMTdmYzUuLjI5 NDM4MzgxIDEwMDY0NAotLS0gYS90ZXN0cy9pOTE1L2dlbV9leGVjX2JhbGFuY2VyLmMKKysrIGIv dGVzdHMvaTkxNS9nZW1fZXhlY19iYWxhbmNlci5jCkBAIC0zMiw2ICszMiwyNiBAQCBJR1RfVEVT VF9ERVNDUklQVElPTigiRXhlcmNpc2UgaW4ta2VybmVsIGxvYWQtYmFsYW5jaW5nIik7CiAKICNk ZWZpbmUgSU5TVEFOQ0VfQ09VTlQgKDEgPDwgSTkxNV9QTVVfU0FNUExFX0lOU1RBTkNFX0JJVFMp CiAKK3N0YXRpYyBzaXplX3Qgc2l6ZW9mX2xvYWRfYmFsYW5jZShpbnQgY291bnQpCit7CisJcmV0 dXJuIG9mZnNldG9mKHN0cnVjdCBpOTE1X2NvbnRleHRfZW5naW5lc19sb2FkX2JhbGFuY2UsCisJ CQllbmdpbmVzW2NvdW50XSk7Cit9CisKK3N0YXRpYyBzaXplX3Qgc2l6ZW9mX3BhcmFtX2VuZ2lu ZXMoaW50IGNvdW50KQoreworCXJldHVybiBvZmZzZXRvZihzdHJ1Y3QgaTkxNV9jb250ZXh0X3Bh cmFtX2VuZ2luZXMsCisJCQllbmdpbmVzW2NvdW50XSk7Cit9CisKK3N0YXRpYyBzaXplX3Qgc2l6 ZW9mX2VuZ2luZXNfYm9uZChpbnQgY291bnQpCit7CisJcmV0dXJuIG9mZnNldG9mKHN0cnVjdCBp OTE1X2NvbnRleHRfZW5naW5lc19ib25kLAorCQkJZW5naW5lc1tjb3VudF0pOworfQorCisjZGVm aW5lIGFsbG9jYTAoc3opICh7IHNpemVfdCBzel9fID0gKHN6KTsgbWVtc2V0KGFsbG9jYShzel9f KSwgMCwgc3pfXyk7IH0pCisKIHN0YXRpYyBib29sIGhhc19jbGFzc19pbnN0YW5jZShpbnQgaTkx NSwgdWludDE2X3QgY2xhc3MsIHVpbnQxNl90IGluc3RhbmNlKQogewogCWludCBmZDsKQEAgLTkz LDE2ICsxMTMsMTcgQEAgc3RhdGljIGludCBfX3NldF9lbmdpbmVzKGludCBpOTE1LCB1aW50MzJf dCBjdHgsCiAJCQkgY29uc3Qgc3RydWN0IGk5MTVfZW5naW5lX2NsYXNzX2luc3RhbmNlICpjaSwK IAkJCSB1bnNpZ25lZCBpbnQgY291bnQpCiB7Ci0JSTkxNV9ERUZJTkVfQ09OVEVYVF9QQVJBTV9F TkdJTkVTKGVuZ2luZXMsIGNvdW50KTsKKwlzdHJ1Y3QgaTkxNV9jb250ZXh0X3BhcmFtX2VuZ2lu ZXMgKmVuZ2luZXMgPQorCQlhbGxvY2EwKHNpemVvZl9wYXJhbV9lbmdpbmVzKGNvdW50KSk7CiAJ c3RydWN0IGRybV9pOTE1X2dlbV9jb250ZXh0X3BhcmFtIHAgPSB7CiAJCS5jdHhfaWQgPSBjdHgs CiAJCS5wYXJhbSA9IEk5MTVfQ09OVEVYVF9QQVJBTV9FTkdJTkVTLAotCQkuc2l6ZSA9IHNpemVv ZihlbmdpbmVzKSwKLQkJLnZhbHVlID0gdG9fdXNlcl9wb2ludGVyKCZlbmdpbmVzKQorCQkuc2l6 ZSA9IHNpemVvZl9wYXJhbV9lbmdpbmVzKGNvdW50KSwKKwkJLnZhbHVlID0gdG9fdXNlcl9wb2lu dGVyKGVuZ2luZXMpCiAJfTsKIAotCWVuZ2luZXMuZXh0ZW5zaW9ucyA9IDA7Ci0JbWVtY3B5KGVu Z2luZXMuZW5naW5lcywgY2ksIHNpemVvZihlbmdpbmVzLmVuZ2luZXMpKTsKKwllbmdpbmVzLT5l eHRlbnNpb25zID0gMDsKKwltZW1jcHkoZW5naW5lcy0+ZW5naW5lcywgY2ksIHNpemVvZihlbmdp bmVzLT5lbmdpbmVzKSk7CiAKIAlyZXR1cm4gX19nZW1fY29udGV4dF9zZXRfcGFyYW0oaTkxNSwg JnApOwogfQpAQCAtMTE5LDMwICsxNDAsMzAgQEAgc3RhdGljIGludCBfX3NldF9sb2FkX2JhbGFu Y2VyKGludCBpOTE1LCB1aW50MzJfdCBjdHgsCiAJCQkgICAgICAgdW5zaWduZWQgaW50IGNvdW50 LAogCQkJICAgICAgIHZvaWQgKmV4dCkKIHsKLQlJOTE1X0RFRklORV9DT05URVhUX0VOR0lORVNf TE9BRF9CQUxBTkNFKGJhbGFuY2VyLCBjb3VudCk7Ci0JSTkxNV9ERUZJTkVfQ09OVEVYVF9QQVJB TV9FTkdJTkVTKGVuZ2luZXMsIDEgKyBjb3VudCk7CisJc3RydWN0IGk5MTVfY29udGV4dF9lbmdp bmVzX2xvYWRfYmFsYW5jZSAqYmFsYW5jZXIgPQorCQlhbGxvY2EwKHNpemVvZl9sb2FkX2JhbGFu Y2UoY291bnQpKTsKKwlzdHJ1Y3QgaTkxNV9jb250ZXh0X3BhcmFtX2VuZ2luZXMgKmVuZ2luZXMg PQorCQlhbGxvY2EwKHNpemVvZl9wYXJhbV9lbmdpbmVzKGNvdW50ICsgMSkpOwogCXN0cnVjdCBk cm1faTkxNV9nZW1fY29udGV4dF9wYXJhbSBwID0gewogCQkuY3R4X2lkID0gY3R4LAogCQkucGFy YW0gPSBJOTE1X0NPTlRFWFRfUEFSQU1fRU5HSU5FUywKLQkJLnNpemUgPSBzaXplb2YoZW5naW5l cyksCi0JCS52YWx1ZSA9IHRvX3VzZXJfcG9pbnRlcigmZW5naW5lcykKKwkJLnNpemUgPSBzaXpl b2ZfcGFyYW1fZW5naW5lcyhjb3VudCArIDEpLAorCQkudmFsdWUgPSB0b191c2VyX3BvaW50ZXIo ZW5naW5lcykKIAl9OwogCi0JbWVtc2V0KCZiYWxhbmNlciwgMCwgc2l6ZW9mKGJhbGFuY2VyKSk7 Ci0JYmFsYW5jZXIuYmFzZS5uYW1lID0gSTkxNV9DT05URVhUX0VOR0lORVNfRVhUX0xPQURfQkFM QU5DRTsKLQliYWxhbmNlci5iYXNlLm5leHRfZXh0ZW5zaW9uID0gdG9fdXNlcl9wb2ludGVyKGV4 dCk7CisJYmFsYW5jZXItPmJhc2UubmFtZSA9IEk5MTVfQ09OVEVYVF9FTkdJTkVTX0VYVF9MT0FE X0JBTEFOQ0U7CisJYmFsYW5jZXItPmJhc2UubmV4dF9leHRlbnNpb24gPSB0b191c2VyX3BvaW50 ZXIoZXh0KTsKIAogCWlndF9hc3NlcnQoY291bnQpOwotCWJhbGFuY2VyLm51bV9zaWJsaW5ncyA9 IGNvdW50OwotCW1lbWNweShiYWxhbmNlci5lbmdpbmVzLCBjaSwgY291bnQgKiBzaXplb2YoKmNp KSk7CisJYmFsYW5jZXItPm51bV9zaWJsaW5ncyA9IGNvdW50OworCW1lbWNweShiYWxhbmNlci0+ ZW5naW5lcywgY2ksIGNvdW50ICogc2l6ZW9mKCpjaSkpOwogCi0JbWVtc2V0KCZlbmdpbmVzLCAw LCBzaXplb2YoZW5naW5lcykpOwotCWVuZ2luZXMuZXh0ZW5zaW9ucyA9IHRvX3VzZXJfcG9pbnRl cigmYmFsYW5jZXIpOwotCWVuZ2luZXMuZW5naW5lc1swXS5lbmdpbmVfY2xhc3MgPQorCWVuZ2lu ZXMtPmV4dGVuc2lvbnMgPSB0b191c2VyX3BvaW50ZXIoYmFsYW5jZXIpOworCWVuZ2luZXMtPmVu Z2luZXNbMF0uZW5naW5lX2NsYXNzID0KIAkJSTkxNV9FTkdJTkVfQ0xBU1NfSU5WQUxJRDsKLQll bmdpbmVzLmVuZ2luZXNbMF0uZW5naW5lX2luc3RhbmNlID0KKwllbmdpbmVzLT5lbmdpbmVzWzBd LmVuZ2luZV9pbnN0YW5jZSA9CiAJCUk5MTVfRU5HSU5FX0NMQVNTX0lOVkFMSURfTk9ORTsKLQlt ZW1jcHkoZW5naW5lcy5lbmdpbmVzICsgMSwgY2ksIGNvdW50ICogc2l6ZW9mKCpjaSkpOworCW1l bWNweShlbmdpbmVzLT5lbmdpbmVzICsgMSwgY2ksIGNvdW50ICogc2l6ZW9mKCpjaSkpOwogCiAJ cmV0dXJuIF9fZ2VtX2NvbnRleHRfc2V0X3BhcmFtKGk5MTUsICZwKTsKIH0KQEAgLTcwOSwxNSAr NzMwLDE0IEBAIHN0YXRpYyB2b2lkIGluZGljZXMoaW50IGk5MTUpCiAJCQljb250aW51ZTsKIAog CQlmb3IgKGludCBuID0gMDsgbiA8IGNvdW50OyBuKyspIHsKLQkJCUk5MTVfREVGSU5FX0NPTlRF WFRfRU5HSU5FU19MT0FEX0JBTEFOQ0UoKmJhbGFuY2VyLAotCQkJCQkJCQkgY291bnQpOworCQkJ c3RydWN0IGk5MTVfY29udGV4dF9lbmdpbmVzX2xvYWRfYmFsYW5jZSAqYmFsYW5jZXI7CiAKIAkJ CWVuZ2luZXMuZW5naW5lc1tuZW5naW5lc10uZW5naW5lX2NsYXNzID0KIAkJCQlJOTE1X0VOR0lO RV9DTEFTU19JTlZBTElEOwogCQkJZW5naW5lcy5lbmdpbmVzW25lbmdpbmVzXS5lbmdpbmVfaW5z dGFuY2UgPQogCQkJCUk5MTVfRU5HSU5FX0NMQVNTX0lOVkFMSURfTk9ORTsKIAotCQkJYmFsYW5j ZXIgPSBjYWxsb2Moc2l6ZW9mKCpiYWxhbmNlciksIDEpOworCQkJYmFsYW5jZXIgPSBjYWxsb2Mo c2l6ZW9mX2xvYWRfYmFsYW5jZSgxKSwgMSk7CiAJCQlpZ3RfYXNzZXJ0KGJhbGFuY2VyKTsKIAog CQkJYmFsYW5jZXItPmJhc2UubmFtZSA9Ci0tIAoyLjIxLjAKCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCmlndC1kZXYgbWFpbGluZyBsaXN0CmlndC1kZXZA bGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxt YW4vbGlzdGluZm8vaWd0LWRldg==