From: Chunming Zhou Subject: [PATCH libdrm] amdgpu: add bo eviction test Date: Fri, 19 Jan 2018 16:23:45 +0800 Message-ID: <20180119082345.6195-1-david1.zhou@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: Chunming Zhou Zm9yKCggaT0xOyBpIDwgMTAwOyBpKyspKQpkbwogICAgIGVjaG8gIkhlbGxvLCBXZWxjb21lICRp IHRpbWVzICIKICAgICBzdWRvIC4vYW1kZ3B1X3Rlc3QgLXMgMSAtdCA1CmRvbmUKCndpdGggYWJv dmUgc3RyaWNwdCwgcnVuIGluIHR3byB0ZXJtaW5hbHMsIHdpbGwgcmVwcm9kdWNlIEZlbGl4J3Mg c3dhcCBsZWVraW5nIGlzc3VlLgoKQ2hhbmdlLUlkOiBJZjYzN2I1ZGExZWFiZTY5ODA2ZjQxZjBj NmY5MDU2YjFlOTQ0N2VmYwpTaWduZWQtb2ZmLWJ5OiBDaHVubWluZyBaaG91IDxkYXZpZDEuemhv dUBhbWQuY29tPgotLS0KIHRlc3RzL2FtZGdwdS9hbWRncHVfdGVzdC5oIHwgIDI0ICsrKysrKysK IHRlc3RzL2FtZGdwdS9iYXNpY190ZXN0cy5jIHwgMTU3ICsrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKwogMiBmaWxlcyBjaGFuZ2VkLCAxODEgaW5zZXJ0aW9ucygr KQoKZGlmZiAtLWdpdCBhL3Rlc3RzL2FtZGdwdS9hbWRncHVfdGVzdC5oIGIvdGVzdHMvYW1kZ3B1 L2FtZGdwdV90ZXN0LmgKaW5kZXggZWNlOTNmNGMuLmRlNzI0YjMzIDEwMDY0NAotLS0gYS90ZXN0 cy9hbWRncHUvYW1kZ3B1X3Rlc3QuaAorKysgYi90ZXN0cy9hbWRncHUvYW1kZ3B1X3Rlc3QuaApA QCAtMjA2LDYgKzIwNiwzMCBAQCBzdGF0aWMgaW5saW5lIGludCBncHVfbWVtX2ZyZWUoYW1kZ3B1 X2JvX2hhbmRsZSBibywKIAlyZXR1cm4gMDsKIH0KIAorc3RhdGljIGlubGluZSBpbnQKK2FtZGdw dV9ib19hbGxvY193cmFwKGFtZGdwdV9kZXZpY2VfaGFuZGxlIGRldiwgdW5zaWduZWQgc2l6ZSwK KwkJICAgICB1bnNpZ25lZCBhbGlnbm1lbnQsIHVuc2lnbmVkIGhlYXAsIHVpbnQ2NF90IGZsYWdz LAorCQkgICAgIGFtZGdwdV9ib19oYW5kbGUgKmJvKQoreworCXN0cnVjdCBhbWRncHVfYm9fYWxs b2NfcmVxdWVzdCByZXF1ZXN0ID0ge307CisJYW1kZ3B1X2JvX2hhbmRsZSBidWZfaGFuZGxlOwor CWludCByOworCisJcmVxdWVzdC5hbGxvY19zaXplID0gc2l6ZTsKKwlyZXF1ZXN0LnBoeXNfYWxp Z25tZW50ID0gYWxpZ25tZW50OworCXJlcXVlc3QucHJlZmVycmVkX2hlYXAgPSBoZWFwOworCXJl cXVlc3QuZmxhZ3MgPSBmbGFnczsKKworCXIgPSBhbWRncHVfYm9fYWxsb2MoZGV2LCAmcmVxdWVz dCwgJmJ1Zl9oYW5kbGUpOworCWlmIChyKQorCQlyZXR1cm4gcjsKKworCSpibyA9IGJ1Zl9oYW5k bGU7CisKKwlyZXR1cm4gMDsKK30KKworCiBzdGF0aWMgaW5saW5lIGludAogYW1kZ3B1X2JvX2Fs bG9jX2FuZF9tYXAoYW1kZ3B1X2RldmljZV9oYW5kbGUgZGV2LCB1bnNpZ25lZCBzaXplLAogCQkJ dW5zaWduZWQgYWxpZ25tZW50LCB1bnNpZ25lZCBoZWFwLCB1aW50NjRfdCBmbGFncywKZGlmZiAt LWdpdCBhL3Rlc3RzL2FtZGdwdS9iYXNpY190ZXN0cy5jIGIvdGVzdHMvYW1kZ3B1L2Jhc2ljX3Rl c3RzLmMKaW5kZXggMmUyODMyMDUuLjA1MzY4YTI3IDEwMDY0NAotLS0gYS90ZXN0cy9hbWRncHUv YmFzaWNfdGVzdHMuYworKysgYi90ZXN0cy9hbWRncHUvYmFzaWNfdGVzdHMuYwpAQCAtNTUsMTYg KzU1LDI0IEBAIHN0YXRpYyB2b2lkIGFtZGdwdV9zZW1hcGhvcmVfdGVzdCh2b2lkKTsKIHN0YXRp YyB2b2lkIGFtZGdwdV9zdm1fdGVzdCh2b2lkKTsKIHN0YXRpYyB2b2lkIGFtZGdwdV9tdWx0aV9z dm1fdGVzdCh2b2lkKTsKIHN0YXRpYyB2b2lkIGFtZGdwdV92YV9yYW5nZV90ZXN0KHZvaWQpOwor c3RhdGljIHZvaWQgYW1kZ3B1X2JvX2V2aWN0aW9uX3Rlc3Qodm9pZCk7CiAKIHN0YXRpYyB2b2lk IGFtZGdwdV9jb21tYW5kX3N1Ym1pc3Npb25fd3JpdGVfbGluZWFyX2hlbHBlcih1bnNpZ25lZCBp cF90eXBlKTsKIHN0YXRpYyB2b2lkIGFtZGdwdV9jb21tYW5kX3N1Ym1pc3Npb25fY29uc3RfZmls bF9oZWxwZXIodW5zaWduZWQgaXBfdHlwZSk7CiBzdGF0aWMgdm9pZCBhbWRncHVfY29tbWFuZF9z dWJtaXNzaW9uX2NvcHlfbGluZWFyX2hlbHBlcih1bnNpZ25lZCBpcF90eXBlKTsKK3N0YXRpYyB2 b2lkIGFtZGdwdV90ZXN0X2V4ZWNfY3NfaGVscGVyKGFtZGdwdV9jb250ZXh0X2hhbmRsZSBjb250 ZXh0X2hhbmRsZSwKKwkJCQkgICAgICAgdW5zaWduZWQgaXBfdHlwZSwKKwkJCQkgICAgICAgaW50 IGluc3RhbmNlLCBpbnQgcG00X2R3LCB1aW50MzJfdCAqcG00X3NyYywKKwkJCQkgICAgICAgaW50 IHJlc19jbnQsIGFtZGdwdV9ib19oYW5kbGUgKnJlc291cmNlcywKKwkJCQkgICAgICAgc3RydWN0 IGFtZGdwdV9jc19pYl9pbmZvICppYl9pbmZvLAorCQkJCSAgICAgICBzdHJ1Y3QgYW1kZ3B1X2Nz X3JlcXVlc3QgKmlic19yZXF1ZXN0KTsKIAogQ1VfVGVzdEluZm8gYmFzaWNfdGVzdHNbXSA9IHsK IAl7ICJRdWVyeSBJbmZvIFRlc3QiLCAgYW1kZ3B1X3F1ZXJ5X2luZm9fdGVzdCB9LAogCXsgIk1l bW9yeSBhbGxvYyBUZXN0IiwgIGFtZGdwdV9tZW1vcnlfYWxsb2MgfSwKIAl7ICJVc2VycHRyIFRl c3QiLCAgYW1kZ3B1X3VzZXJwdHJfdGVzdCB9LAogCXsgIkZpbmQgYm8gVGVzdCIsICBhbWRncHVf ZmluZF9ib190ZXN0IH0sCisJeyAiYm8gZXZpY3Rpb24gVGVzdCIsICBhbWRncHVfYm9fZXZpY3Rp b25fdGVzdCB9LAogCXsgIkNvbW1hbmQgc3VibWlzc2lvbiBUZXN0IChHRlgpIiwgIGFtZGdwdV9j b21tYW5kX3N1Ym1pc3Npb25fZ2Z4IH0sCiAJeyAiQ29tbWFuZCBzdWJtaXNzaW9uIFRlc3QgKENv bXB1dGUpIiwgYW1kZ3B1X2NvbW1hbmRfc3VibWlzc2lvbl9jb21wdXRlIH0sCiAJeyAiQ29tbWFu ZCBzdWJtaXNzaW9uIFRlc3QgKE11bHRpLUZlbmNlKSIsIGFtZGdwdV9jb21tYW5kX3N1Ym1pc3Np b25fbXVsdGlfZmVuY2UgfSwKQEAgLTUxOCw2ICs1MjYsMTU1IEBAIHN0YXRpYyB2b2lkIGFtZGdw dV9jb21tYW5kX3N1Ym1pc3Npb25fZ2Z4X2NwX2NvcHlfZGF0YSh2b2lkKQogCWFtZGdwdV9jb21t YW5kX3N1Ym1pc3Npb25fY29weV9saW5lYXJfaGVscGVyKEFNREdQVV9IV19JUF9HRlgpOwogfQog CitzdGF0aWMgdm9pZCBhbWRncHVfYm9fZXZpY3Rpb25fdGVzdCh2b2lkKQoreworCWNvbnN0IGlu dCBzZG1hX3dyaXRlX2xlbmd0aCA9IDEwMjQ7CisJY29uc3QgaW50IHBtNF9kdyA9IDI1NjsKKwlh bWRncHVfY29udGV4dF9oYW5kbGUgY29udGV4dF9oYW5kbGU7CisJYW1kZ3B1X2JvX2hhbmRsZSBi bzEsIGJvMiwgdnJhbV9tYXhbMl0sIGd0dF9tYXhbMl07CisJYW1kZ3B1X2JvX2hhbmRsZSAqcmVz b3VyY2VzOworCXVpbnQzMl90ICpwbTQ7CisJc3RydWN0IGFtZGdwdV9jc19pYl9pbmZvICppYl9p bmZvOworCXN0cnVjdCBhbWRncHVfY3NfcmVxdWVzdCAqaWJzX3JlcXVlc3Q7CisJdWludDY0X3Qg Ym8xX21jLCBibzJfbWM7CisJdm9sYXRpbGUgdW5zaWduZWQgY2hhciAqYm8xX2NwdSwgKmJvMl9j cHU7CisJaW50IGksIGosIHIsIGxvb3AxLCBsb29wMjsKKwl1aW50NjRfdCBndHRfZmxhZ3NbMl0g PSB7MCwgQU1ER1BVX0dFTV9DUkVBVEVfQ1BVX0dUVF9VU1dDfTsKKwlhbWRncHVfdmFfaGFuZGxl IGJvMV92YV9oYW5kbGUsIGJvMl92YV9oYW5kbGU7CisJc3RydWN0IGFtZGdwdV9oZWFwX2luZm8g dnJhbV9pbmZvLCBndHRfaW5mbzsKKworCXBtNCA9IGNhbGxvYyhwbTRfZHcsIHNpemVvZigqcG00 KSk7CisJQ1VfQVNTRVJUX05PVF9FUVVBTChwbTQsIE5VTEwpOworCisJaWJfaW5mbyA9IGNhbGxv YygxLCBzaXplb2YoKmliX2luZm8pKTsKKwlDVV9BU1NFUlRfTk9UX0VRVUFMKGliX2luZm8sIE5V TEwpOworCisJaWJzX3JlcXVlc3QgPSBjYWxsb2MoMSwgc2l6ZW9mKCppYnNfcmVxdWVzdCkpOwor CUNVX0FTU0VSVF9OT1RfRVFVQUwoaWJzX3JlcXVlc3QsIE5VTEwpOworCisJciA9IGFtZGdwdV9j c19jdHhfY3JlYXRlKGRldmljZV9oYW5kbGUsICZjb250ZXh0X2hhbmRsZSk7CisJQ1VfQVNTRVJU X0VRVUFMKHIsIDApOworCisJLyogcHJlcGFyZSByZXNvdXJjZSAqLworCXJlc291cmNlcyA9IGNh bGxvYyg0LCBzaXplb2YoYW1kZ3B1X2JvX2hhbmRsZSkpOworCUNVX0FTU0VSVF9OT1RfRVFVQUwo cmVzb3VyY2VzLCBOVUxMKTsKKworCXIgPSBhbWRncHVfcXVlcnlfaGVhcF9pbmZvKGRldmljZV9o YW5kbGUsIEFNREdQVV9HRU1fRE9NQUlOX1ZSQU0sCisJCQkJICAgMCwgJnZyYW1faW5mbyk7CisJ Q1VfQVNTRVJUX0VRVUFMKHIsIDApOworCisJciA9IGFtZGdwdV9ib19hbGxvY193cmFwKGRldmlj ZV9oYW5kbGUsIHZyYW1faW5mby5tYXhfYWxsb2NhdGlvbiwgNDA5NiwKKwkJCQkgQU1ER1BVX0dF TV9ET01BSU5fVlJBTSwgMCwgJnZyYW1fbWF4WzBdKTsKKwlDVV9BU1NFUlRfRVFVQUwociwgMCk7 CisJciA9IGFtZGdwdV9ib19hbGxvY193cmFwKGRldmljZV9oYW5kbGUsIHZyYW1faW5mby5tYXhf YWxsb2NhdGlvbiwgNDA5NiwKKwkJCQkgQU1ER1BVX0dFTV9ET01BSU5fVlJBTSwgMCwgJnZyYW1f bWF4WzFdKTsKKwlDVV9BU1NFUlRfRVFVQUwociwgMCk7CisKKwlyID0gYW1kZ3B1X3F1ZXJ5X2hl YXBfaW5mbyhkZXZpY2VfaGFuZGxlLCBBTURHUFVfR0VNX0RPTUFJTl9HVFQsCisJCQkJICAgMCwg Jmd0dF9pbmZvKTsKKwlDVV9BU1NFUlRfRVFVQUwociwgMCk7CisKKwlyID0gYW1kZ3B1X2JvX2Fs bG9jX3dyYXAoZGV2aWNlX2hhbmRsZSwgZ3R0X2luZm8ubWF4X2FsbG9jYXRpb24sIDQwOTYsCisJ CQkJIEFNREdQVV9HRU1fRE9NQUlOX0dUVCwgMCwgJmd0dF9tYXhbMF0pOworCUNVX0FTU0VSVF9F UVVBTChyLCAwKTsKKwlyID0gYW1kZ3B1X2JvX2FsbG9jX3dyYXAoZGV2aWNlX2hhbmRsZSwgZ3R0 X2luZm8ubWF4X2FsbG9jYXRpb24sIDQwOTYsCisJCQkJIEFNREdQVV9HRU1fRE9NQUlOX0dUVCwg MCwgJmd0dF9tYXhbMV0pOworCUNVX0FTU0VSVF9FUVVBTChyLCAwKTsKKworCisKKwlsb29wMSA9 IGxvb3AyID0gMDsKKwkvKiBydW4gOSBjaXJjbGUgdG8gdGVzdCBhbGwgbWFwcGluZyBjb21iaW5h dGlvbiAqLworCXdoaWxlKGxvb3AxIDwgMikgeworCQl3aGlsZShsb29wMiA8IDIpIHsKKwkJCS8q IGFsbG9jYXRlIFVDIGJvMWZvciBzRE1BIHVzZSAqLworCQkJciA9IGFtZGdwdV9ib19hbGxvY19h bmRfbWFwKGRldmljZV9oYW5kbGUsCisJCQkJCQkgICAgc2RtYV93cml0ZV9sZW5ndGgsIDQwOTYs CisJCQkJCQkgICAgQU1ER1BVX0dFTV9ET01BSU5fR1RULAorCQkJCQkJICAgIGd0dF9mbGFnc1ts b29wMV0sICZibzEsCisJCQkJCQkgICAgKHZvaWQqKikmYm8xX2NwdSwgJmJvMV9tYywKKwkJCQkJ CSAgICAmYm8xX3ZhX2hhbmRsZSk7CisJCQlDVV9BU1NFUlRfRVFVQUwociwgMCk7CisKKwkJCS8q IHNldCBibzEgKi8KKwkJCW1lbXNldCgodm9pZCopYm8xX2NwdSwgMHhhYSwgc2RtYV93cml0ZV9s ZW5ndGgpOworCisJCQkvKiBhbGxvY2F0ZSBVQyBibzIgZm9yIHNETUEgdXNlICovCisJCQlyID0g YW1kZ3B1X2JvX2FsbG9jX2FuZF9tYXAoZGV2aWNlX2hhbmRsZSwKKwkJCQkJCSAgICBzZG1hX3dy aXRlX2xlbmd0aCwgNDA5NiwKKwkJCQkJCSAgICBBTURHUFVfR0VNX0RPTUFJTl9HVFQsCisJCQkJ CQkgICAgZ3R0X2ZsYWdzW2xvb3AyXSwgJmJvMiwKKwkJCQkJCSAgICAodm9pZCoqKSZibzJfY3B1 LCAmYm8yX21jLAorCQkJCQkJICAgICZibzJfdmFfaGFuZGxlKTsKKwkJCUNVX0FTU0VSVF9FUVVB TChyLCAwKTsKKworCQkJLyogY2xlYXIgYm8yICovCisJCQltZW1zZXQoKHZvaWQqKWJvMl9jcHUs IDAsIHNkbWFfd3JpdGVfbGVuZ3RoKTsKKworCQkJcmVzb3VyY2VzWzBdID0gYm8xOworCQkJcmVz b3VyY2VzWzFdID0gYm8yOworCQkJcmVzb3VyY2VzWzJdID0gdnJhbV9tYXhbbG9vcDJdOworCQkJ cmVzb3VyY2VzWzNdID0gZ3R0X21heFtsb29wMl07CisKKwkJCS8qIGZ1bGZpbGwgUE00OiB0ZXN0 IERNQSBjb3B5IGxpbmVhciAqLworCQkJaSA9IGogPSAwOworCQkJaWYgKGZhbWlseV9pZCA9PSBB TURHUFVfRkFNSUxZX1NJKSB7CisJCQkJcG00W2krK10gPSBTRE1BX1BBQ0tFVF9TSShTRE1BX09Q Q09ERV9DT1BZX1NJLCAwLCAwLCAwLAorCQkJCQkJCSAgc2RtYV93cml0ZV9sZW5ndGgpOworCQkJ CXBtNFtpKytdID0gMHhmZmZmZmZmZiAmIGJvMl9tYzsKKwkJCQlwbTRbaSsrXSA9IDB4ZmZmZmZm ZmYgJiBibzFfbWM7CisJCQkJcG00W2krK10gPSAoMHhmZmZmZmZmZjAwMDAwMDAwICYgYm8yX21j KSA+PiAzMjsKKwkJCQlwbTRbaSsrXSA9ICgweGZmZmZmZmZmMDAwMDAwMDAgJiBibzFfbWMpID4+ IDMyOworCQkJfSBlbHNlIHsKKwkJCQlwbTRbaSsrXSA9IFNETUFfUEFDS0VUKFNETUFfT1BDT0RF X0NPUFksIFNETUFfQ09QWV9TVUJfT1BDT0RFX0xJTkVBUiwgMCk7CisJCQkJaWYgKGZhbWlseV9p ZCA+PSBBTURHUFVfRkFNSUxZX0FJKQorCQkJCQlwbTRbaSsrXSA9IHNkbWFfd3JpdGVfbGVuZ3Ro IC0gMTsKKwkJCQllbHNlCisJCQkJCXBtNFtpKytdID0gc2RtYV93cml0ZV9sZW5ndGg7CisJCQkJ cG00W2krK10gPSAwOworCQkJCXBtNFtpKytdID0gMHhmZmZmZmZmZiAmIGJvMV9tYzsKKwkJCQlw bTRbaSsrXSA9ICgweGZmZmZmZmZmMDAwMDAwMDAgJiBibzFfbWMpID4+IDMyOworCQkJCXBtNFtp KytdID0gMHhmZmZmZmZmZiAmIGJvMl9tYzsKKwkJCQlwbTRbaSsrXSA9ICgweGZmZmZmZmZmMDAw MDAwMDAgJiBibzJfbWMpID4+IDMyOworCQkJfQorCisJCQlhbWRncHVfdGVzdF9leGVjX2NzX2hl bHBlcihjb250ZXh0X2hhbmRsZSwKKwkJCQkJCSAgIEFNREdQVV9IV19JUF9ETUEsIDAsCisJCQkJ CQkgICBpLCBwbTQsCisJCQkJCQkgICA0LCByZXNvdXJjZXMsCisJCQkJCQkgICBpYl9pbmZvLCBp YnNfcmVxdWVzdCk7CisKKwkJCS8qIHZlcmlmeSBpZiBTRE1BIHRlc3QgcmVzdWx0IG1lZXRzIHdp dGggZXhwZWN0ZWQgKi8KKwkJCWkgPSAwOworCQkJd2hpbGUoaSA8IHNkbWFfd3JpdGVfbGVuZ3Ro KSB7CisJCQkJQ1VfQVNTRVJUX0VRVUFMKGJvMl9jcHVbaSsrXSwgMHhhYSk7CisJCQl9CisJCQly ID0gYW1kZ3B1X2JvX3VubWFwX2FuZF9mcmVlKGJvMSwgYm8xX3ZhX2hhbmRsZSwgYm8xX21jLAor CQkJCQkJICAgICBzZG1hX3dyaXRlX2xlbmd0aCk7CisJCQlDVV9BU1NFUlRfRVFVQUwociwgMCk7 CisJCQlyID0gYW1kZ3B1X2JvX3VubWFwX2FuZF9mcmVlKGJvMiwgYm8yX3ZhX2hhbmRsZSwgYm8y X21jLAorCQkJCQkJICAgICBzZG1hX3dyaXRlX2xlbmd0aCk7CisJCQlDVV9BU1NFUlRfRVFVQUwo ciwgMCk7CisJCQlsb29wMisrOworCQl9CisJCWxvb3AyID0gMDsKKwkJbG9vcDErKzsKKwl9CisJ YW1kZ3B1X2JvX2ZyZWUodnJhbV9tYXhbMF0pOworCWFtZGdwdV9ib19mcmVlKHZyYW1fbWF4WzFd KTsKKwlhbWRncHVfYm9fZnJlZShndHRfbWF4WzBdKTsKKwlhbWRncHVfYm9fZnJlZShndHRfbWF4 WzFdKTsKKwkvKiBjbGVhbiByZXNvdXJjZXMgKi8KKwlmcmVlKHJlc291cmNlcyk7CisJZnJlZShp YnNfcmVxdWVzdCk7CisJZnJlZShpYl9pbmZvKTsKKwlmcmVlKHBtNCk7CisKKwkvKiBlbmQgb2Yg dGVzdCAqLworCXIgPSBhbWRncHVfY3NfY3R4X2ZyZWUoY29udGV4dF9oYW5kbGUpOworCUNVX0FT U0VSVF9FUVVBTChyLCAwKTsKK30KKwogc3RhdGljIHZvaWQgYW1kZ3B1X2NvbW1hbmRfc3VibWlz c2lvbl9nZngodm9pZCkKIHsKIAkvKiB3cml0ZSBkYXRhIHVzaW5nIHRoZSBDUCAqLwotLSAKMi4x NC4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwphbWQt Z2Z4IG1haWxpbmcgbGlzdAphbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1nZngK