From mboxrd@z Thu Jan 1 00:00:00 1970 From: Huang Rui Subject: [PATCH 4/5] drm/amdgpu: use bulk moves for efficient VM LRU handling Date: Wed, 8 Aug 2018 17:59:36 +0800 Message-ID: <1533722377-27020-5-git-send-email-ray.huang@amd.com> References: <1533722377-27020-1-git-send-email-ray.huang@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1533722377-27020-1-git-send-email-ray.huang-5C7GfCeVMHo@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: Huang Rui , =?UTF-8?q?Christian=20K=C3=B6nig?= List-Id: dri-devel@lists.freedesktop.org SSBjb250aW51ZSB0byB3b3JrIGZvciBidWxrIG1vdmluZyB0aGF0IGJhc2VkIG9uIHRoZSBwcm9w b3NhbCBieSBDaHJpc3RpYW4uCgpCYWNrZ3JvdW5kOgphbWRncHUgZHJpdmVyIHdpbGwgbW92ZSBh bGwgUEQvUFQgYW5kIFBlclZNIEJPcyBpbnRvIGlkbGUgbGlzdC4gVGhlbiBtb3ZlIGFsbCBvZgp0 aGVtIG9uIHRoZSBlbmQgb2YgTFJVIGxpc3Qgb25lIGJ5IG9uZS4gVGh1cywgdGhhdCBjYXVzZSBz byBtYW55IEJPcyBtb3ZlZCB0bwp0aGUgZW5kIG9mIHRoZSBMUlUsIGFuZCBpbXBhY3QgcGVyZm9y bWFuY2Ugc2VyaW91c2x5LgoKVGhlbiBDaHJpc3RpYW4gcHJvdmlkZWQgYSB3b3JrYXJvdW5kIHRv IG5vdCBtb3ZlIFBEL1BUIEJPcyBvbiBMUlUgd2l0aCBiZWxvdwpwYXRjaDoKImRybS9hbWRncHU6 IGJhbmQgYWlkIHZhbGlkYXRpbmcgVk0gUFRzIgpDb21taXQgMGJiZjMyMDI2Y2Y1YmE0MWU5OTIy YjMwZTI2ZTFiZWQxZWNkMzhhZQoKSG93ZXZlciwgdGhlIGZpbmFsIHNvbHV0aW9uIHNob3VsZCBi dWxrIG1vdmUgYWxsIFBEL1BUIGFuZCBQZXJWTSBCT3Mgb24gdGhlIExSVQppbnN0ZWFkIG9mIG9u ZSBieSBvbmUuCgpXaGVuZXZlciBhbWRncHVfdm1fdmFsaWRhdGVfcHRfYm9zKCkgaXMgY2FsbGVk IGFuZCB3ZSBoYXZlIEJPcyB3aGljaCBuZWVkIHRvIGJlCnZhbGlkYXRlZCB3ZSBtb3ZlIGFsbCBC T3MgdG9nZXRoZXIgdG8gdGhlIGVuZCBvZiB0aGUgTFJVIHdpdGhvdXQgZHJvcHBpbmcgdGhlCmxv Y2sgZm9yIHRoZSBMUlUuCgpXaGlsZSBkb2luZyBzbyB3ZSBub3RlIHRoZSBiZWdpbm5pbmcgYW5k IGVuZCBvZiB0aGlzIGJsb2NrIGluIHRoZSBMUlUgbGlzdC4KCk5vdyB3aGVuIGFtZGdwdV92bV92 YWxpZGF0ZV9wdF9ib3MoKSBpcyBjYWxsZWQgYW5kIHdlIGRvbid0IGhhdmUgYW55dGhpbmcgdG8g ZG8sCndlIGRvbid0IG1vdmUgZXZlcnkgQk8gb25lIGJ5IG9uZSwgYnV0IGluc3RlYWQgY3V0IHRo ZSBMUlUgbGlzdCBpbnRvIHBpZWNlcyBzbwp0aGF0IHdlIGJ1bGsgbW92ZSBldmVyeXRoaW5nIHRv IHRoZSBlbmQgaW4ganVzdCBvbmUgb3BlcmF0aW9uLgoKVGVzdCBkYXRhOgorLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKwp8ICAgICAgICAgICAgICB8VGhlIFRhbG9zICAgICAgICB8Q2xwZWFr KE9DTCl8QnVzU3BlZWRSZWFkYmFjayhPQ0wpICAgICAgICAgICAgICAgICAgfAp8ICAgICAgICAg ICAgICB8UHJpbmNpcGxlKFZ1bGthbil8ICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwp8ICAgICAg ICAgICAgICB8ICAgICAgICAgICAgICAgICB8ICAgICAgICAgICB8MC4zMTkgbXMoMWspIDAuMzE0 IG1zKDJLKSAwLjMwOCBtcyg0SykgfAp8IE9yaWdpbmFsICAgICB8ICAxNDcuNyBGUFMgICAgICB8 ICA3Ni44NiB1cyB8MC4zMDcgbXMoOEspIDAuMzEwIG1zKDE2SykgICAgICAgICAgICAgfAorLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwp8IE9yaWduaWFsICsgV0F8ICAgICAgICAgICAgICAg ICB8ICAgICAgICAgICB8MC4yNTQgbXMoMUspIDAuMjQxIG1zKDJLKSAgICAgICAgICAgICAgfAp8 KGRvbid0IG1vdmUgICB8ICAxNjIuMSBGUFMgICAgICB8ICA0Mi4xNSB1cyB8MC4yMzAgbXMoNEsp IDAuMjIzIG1zKDhLKSAwLjIwNCBtcygxNkspfAp8UFQgQk9zIG9uIExSVSl8ICAgICAgICAgICAg ICAgICB8ICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg fAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKwp8IEJ1bGsgbW92ZSAgICB8ICAxNjMuMSBG UFMgICAgICB8ICA0MC41MiB1cyB8MC4yNDQgbXMoMUspIDAuMjUyIG1zKDJLKSAwLjIxMyBtcyg0 SykgfAp8ICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICB8ICAgICAgICAgICB8MC4yMTQg bXMoOEspIDAuMjI1IG1zKDE2SykgICAgICAgICAgICAgfAorLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tKwoKQWZ0ZXIgdGVzdCB0aGVtIHdpdGggYWJvdmUgdGhyZWUgYmVuY2htYXJrcyBpbmNs dWRlIHZ1bGthbiBhbmQgb3BlbmNsLiBXZSBjYW4Kc2VlIHRoZSB2aXNpYmxlIGltcHJvdmVtZW50 IHRoYW4gb3JpZ2luYWwsIGFuZCBldmVuIGJldHRlciB0aGFuIG9yaWdpbmFsIHdpdGgKd29ya2Fy b3VuZC4KClNpZ25lZC1vZmYtYnk6IENocmlzdGlhbiBLw7ZuaWcgPGNocmlzdGlhbi5rb2VuaWdA YW1kLmNvbT4KU2lnbmVkLW9mZi1ieTogSHVhbmcgUnVpIDxyYXkuaHVhbmdAYW1kLmNvbT4KLS0t CiBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdm0uYyB8IDIyICsrKysrKysrKysr KysrLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV92bS5oIHwgIDQg KysrKwogMiBmaWxlcyBjaGFuZ2VkLCAxOCBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQoK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV92bS5jIGIvZHJp dmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3ZtLmMKaW5kZXggOWM4NDc3MC4uZWRhMGJi OSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3ZtLmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3ZtLmMKQEAgLTI4Niw2ICsyODYs NyBAQCBpbnQgYW1kZ3B1X3ZtX3ZhbGlkYXRlX3B0X2JvcyhzdHJ1Y3QgYW1kZ3B1X2RldmljZSAq YWRldiwgc3RydWN0IGFtZGdwdV92bSAqdm0sCiB7CiAJc3RydWN0IHR0bV9ib19nbG9iYWwgKmds b2IgPSBhZGV2LT5tbWFuLmJkZXYuZ2xvYjsKIAlzdHJ1Y3QgYW1kZ3B1X3ZtX2JvX2Jhc2UgKmJv X2Jhc2UsICp0bXA7CisJYm9vbCB2YWxpZGF0ZWQgPSBmYWxzZTsKIAlpbnQgciA9IDA7CiAKIAls aXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUoYm9fYmFzZSwgdG1wLCAmdm0tPmV2aWN0ZWQsIHZtX3N0 YXR1cykgewpAQCAtMjk1LDE0ICsyOTYsOSBAQCBpbnQgYW1kZ3B1X3ZtX3ZhbGlkYXRlX3B0X2Jv cyhzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwgc3RydWN0IGFtZGdwdV92bSAqdm0sCiAJCQly ID0gdmFsaWRhdGUocGFyYW0sIGJvKTsKIAkJCWlmIChyKQogCQkJCWJyZWFrOwotCi0JCQlzcGlu X2xvY2soJmdsb2ItPmxydV9sb2NrKTsKLQkJCXR0bV9ib19tb3ZlX3RvX2xydV90YWlsKCZiby0+ dGJvLCBOVUxMKTsKLQkJCWlmIChiby0+c2hhZG93KQotCQkJCXR0bV9ib19tb3ZlX3RvX2xydV90 YWlsKCZiby0+c2hhZG93LT50Ym8sIE5VTEwpOwotCQkJc3Bpbl91bmxvY2soJmdsb2ItPmxydV9s b2NrKTsKIAkJfQogCisJCXZhbGlkYXRlZCA9IHRydWU7CiAJCWlmIChiby0+dGJvLnR5cGUgIT0g dHRtX2JvX3R5cGVfa2VybmVsKSB7CiAJCQlzcGluX2xvY2soJnZtLT5tb3ZlZF9sb2NrKTsKIAkJ CWxpc3RfbW92ZSgmYm9fYmFzZS0+dm1fc3RhdHVzLCAmdm0tPm1vdmVkKTsKQEAgLTMxMiw2ICsz MDgsMTUgQEAgaW50IGFtZGdwdV92bV92YWxpZGF0ZV9wdF9ib3Moc3RydWN0IGFtZGdwdV9kZXZp Y2UgKmFkZXYsIHN0cnVjdCBhbWRncHVfdm0gKnZtLAogCQl9CiAJfQogCisJaWYgKCF2YWxpZGF0 ZWQpIHsKKwkJc3Bpbl9sb2NrKCZnbG9iLT5scnVfbG9jayk7CisJCXR0bV9ib19idWxrX21vdmVf bHJ1X3RhaWwoJnZtLT5scnVfYnVsa19tb3ZlKTsKKwkJc3Bpbl91bmxvY2soJmdsb2ItPmxydV9s b2NrKTsKKwkJcmV0dXJuIDA7CisJfQorCisJbWVtc2V0KCZ2bS0+bHJ1X2J1bGtfbW92ZSwgMCwg c2l6ZW9mKHZtLT5scnVfYnVsa19tb3ZlKSk7CisKIAlzcGluX2xvY2soJmdsb2ItPmxydV9sb2Nr KTsKIAlsaXN0X2Zvcl9lYWNoX2VudHJ5KGJvX2Jhc2UsICZ2bS0+aWRsZSwgdm1fc3RhdHVzKSB7 CiAJCXN0cnVjdCBhbWRncHVfYm8gKmJvID0gYm9fYmFzZS0+Ym87CkBAIC0zMTksOSArMzI0LDEw IEBAIGludCBhbWRncHVfdm1fdmFsaWRhdGVfcHRfYm9zKHN0cnVjdCBhbWRncHVfZGV2aWNlICph ZGV2LCBzdHJ1Y3QgYW1kZ3B1X3ZtICp2bSwKIAkJaWYgKCFiby0+cGFyZW50KQogCQkJY29udGlu dWU7CiAKLQkJdHRtX2JvX21vdmVfdG9fbHJ1X3RhaWwoJmJvLT50Ym8sIE5VTEwpOworCQl0dG1f Ym9fbW92ZV90b19scnVfdGFpbCgmYm8tPnRibywgJnZtLT5scnVfYnVsa19tb3ZlKTsKIAkJaWYg KGJvLT5zaGFkb3cpCi0JCQl0dG1fYm9fbW92ZV90b19scnVfdGFpbCgmYm8tPnNoYWRvdy0+dGJv LCBOVUxMKTsKKwkJCXR0bV9ib19tb3ZlX3RvX2xydV90YWlsKCZiby0+c2hhZG93LT50Ym8sCisJ CQkJCQkmdm0tPmxydV9idWxrX21vdmUpOwogCX0KIAlzcGluX3VubG9jaygmZ2xvYi0+bHJ1X2xv Y2spOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdm0u aCBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV92bS5oCmluZGV4IDY3YTE1ZDQu LjkyNzI1YWMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV92 bS5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV92bS5oCkBAIC0yOSw2 ICsyOSw3IEBACiAjaW5jbHVkZSA8bGludXgvcmJ0cmVlLmg+CiAjaW5jbHVkZSA8ZHJtL2dwdV9z Y2hlZHVsZXIuaD4KICNpbmNsdWRlIDxkcm0vZHJtX2ZpbGUuaD4KKyNpbmNsdWRlIDxkcm0vdHRt L3R0bV9ib19kcml2ZXIuaD4KIAogI2luY2x1ZGUgImFtZGdwdV9zeW5jLmgiCiAjaW5jbHVkZSAi YW1kZ3B1X3JpbmcuaCIKQEAgLTIyNiw2ICsyMjcsOSBAQCBzdHJ1Y3QgYW1kZ3B1X3ZtIHsKIAog CS8qIFNvbWUgYmFzaWMgaW5mbyBhYm91dCB0aGUgdGFzayAqLwogCXN0cnVjdCBhbWRncHVfdGFz a19pbmZvIHRhc2tfaW5mbzsKKworCS8qIFN0b3JlIHBvc2l0aW9ucyBvZiBncm91cCBvZiBCT3Mg Ki8KKwlzdHJ1Y3QgdHRtX2xydV9idWxrX21vdmUgbHJ1X2J1bGtfbW92ZTsKIH07CiAKIHN0cnVj dCBhbWRncHVfdm1fbWFuYWdlciB7Ci0tIAoyLjcuNAoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KYW1kLWdmeCBtYWlsaW5nIGxpc3QKYW1kLWdmeEBsaXN0 cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9s aXN0aW5mby9hbWQtZ2Z4Cg==