From mboxrd@z Thu Jan 1 00:00:00 1970 From: Huang Rui Subject: [PATCH v2 4/5] drm/amdgpu: use bulk moves for efficient VM LRU handling (v2) Date: Fri, 10 Aug 2018 19:55:58 +0800 Message-ID: <1533902159-14232-5-git-send-email-ray.huang@amd.com> References: <1533902159-14232-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: <1533902159-14232-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 b3VuZC4KCnYyOiBtb3ZlIGFsbCBCT3MgaW5jbHVkZSBpZGxlLCByZWxvY2F0ZWQsIGFuZCBtb3Zl ZCBsaXN0IHRvIHRoZSBlbmQgb2YgTFJVIGFuZApwdXQgdGhlbSB0b2dldGhlci4KClNpZ25lZC1v ZmYtYnk6IENocmlzdGlhbiBLw7ZuaWcgPGNocmlzdGlhbi5rb2VuaWdAYW1kLmNvbT4KU2lnbmVk LW9mZi1ieTogSHVhbmcgUnVpIDxyYXkuaHVhbmdAYW1kLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9hbWRncHVfdm0uYyB8IDc1ICsrKysrKysrKysrKysrKysrKysrKysrKysr LS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV92bS5oIHwgIDQgKysK IDIgZmlsZXMgY2hhbmdlZCwgNjMgaW5zZXJ0aW9ucygrKSwgMTYgZGVsZXRpb25zKC0pCgpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3ZtLmMgYi9kcml2ZXJz L2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdm0uYwppbmRleCA5Yzg0NzcwLi44MWZiMWFjIDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdm0uYworKysgYi9k cml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdm0uYwpAQCAtMjY4LDYgKzI2OCw1NSBA QCB2b2lkIGFtZGdwdV92bV9nZXRfcGRfYm8oc3RydWN0IGFtZGdwdV92bSAqdm0sCiB9CiAKIC8q KgorICogYW1kZ3B1X3ZtX21vdmVfdG9fbHJ1X3RhaWwgLSBtb3ZlIG9uZSBsaXN0IG9mIEJPcyB0 byBlbmQgb2YgTFJVCisgKgorICogQGFkZXY6IGFtZGdwdSBkZXZpY2UgcG9pbnRlcgorICogQHZt OiB2bSBwcm92aWRpbmcgdGhlIEJPcworICogQGxpc3Q6IHRoZSBsaXN0IHRoYXQgc3RvcmVkIEJP cworICoKKyAqIE1vdmUgb25lIGxpc3Qgb2YgQk9zIHRvIHRoZSBlbmQgb2YgTFJVIGFuZCB1cGRh dGUgdGhlIHBvc2l0aW9ucy4KKyAqLworc3RhdGljIHZvaWQKK2FtZGdwdV92bV9tb3ZlX3RvX2xy dV90YWlsX2J5X2xpc3Qoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCisJCQkJICAgc3RydWN0 IGFtZGdwdV92bSAqdm0sIHN0cnVjdCBsaXN0X2hlYWQgKmxpc3QpCit7CisJc3RydWN0IGFtZGdw dV92bV9ib19iYXNlICpib19iYXNlLCAqdG1wOworCisJbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZl KGJvX2Jhc2UsIHRtcCwgbGlzdCwgdm1fc3RhdHVzKSB7CisJCXN0cnVjdCBhbWRncHVfYm8gKmJv ID0gYm9fYmFzZS0+Ym87CisKKwkJaWYgKCFiby0+cGFyZW50KQorCQkJY29udGludWU7CisKKwkJ dHRtX2JvX21vdmVfdG9fbHJ1X3RhaWwoJmJvLT50Ym8sICZ2bS0+bHJ1X2J1bGtfbW92ZSk7CisJ CWlmIChiby0+c2hhZG93KQorCQkJdHRtX2JvX21vdmVfdG9fbHJ1X3RhaWwoJmJvLT5zaGFkb3ct PnRibywKKwkJCQkJCSZ2bS0+bHJ1X2J1bGtfbW92ZSk7CisJfQorfQorCisvKioKKyAqIGFtZGdw dV92bV9tb3ZlX3RvX2xydV90YWlsIC0gbW92ZSBhbGwgQk9zIHRvIHRoZSBlbmQgb2YgTFJVCisg KgorICogQGFkZXY6IGFtZGdwdSBkZXZpY2UgcG9pbnRlcgorICogQHZtOiB2bSBwcm92aWRpbmcg dGhlIEJPcworICoKKyAqIE1vdmUgYWxsIEJPcyB0byB0aGUgZW5kIG9mIExSVSBhbmQgcmVtZW1i ZXIgdGhlaXIgcG9zaXRpb25zIHRvIHB1dCB0aGVtCisgKiB0b2dldGhlci4KKyAqLworc3RhdGlj IHZvaWQKK2FtZGdwdV92bV9tb3ZlX3RvX2xydV90YWlsKHN0cnVjdCBhbWRncHVfZGV2aWNlICph ZGV2LCBzdHJ1Y3QgYW1kZ3B1X3ZtICp2bSkKK3sKKwlzdHJ1Y3QgdHRtX2JvX2dsb2JhbCAqZ2xv YiA9IGFkZXYtPm1tYW4uYmRldi5nbG9iOworCisJc3Bpbl9sb2NrKCZnbG9iLT5scnVfbG9jayk7 CisJYW1kZ3B1X3ZtX21vdmVfdG9fbHJ1X3RhaWxfYnlfbGlzdChhZGV2LCB2bSwgJnZtLT5pZGxl KTsKKwlhbWRncHVfdm1fbW92ZV90b19scnVfdGFpbF9ieV9saXN0KGFkZXYsIHZtLCAmdm0tPnJl bG9jYXRlZCk7CisJYW1kZ3B1X3ZtX21vdmVfdG9fbHJ1X3RhaWxfYnlfbGlzdChhZGV2LCB2bSwg JnZtLT5tb3ZlZCk7CisJc3Bpbl91bmxvY2soJmdsb2ItPmxydV9sb2NrKTsKK30KKworLyoqCiAg KiBhbWRncHVfdm1fdmFsaWRhdGVfcHRfYm9zIC0gdmFsaWRhdGUgdGhlIHBhZ2UgdGFibGUgQk9z CiAgKgogICogQGFkZXY6IGFtZGdwdSBkZXZpY2UgcG9pbnRlcgpAQCAtMjg2LDYgKzMzNSw3IEBA IGludCBhbWRncHVfdm1fdmFsaWRhdGVfcHRfYm9zKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2 LCBzdHJ1Y3QgYW1kZ3B1X3ZtICp2bSwKIHsKIAlzdHJ1Y3QgdHRtX2JvX2dsb2JhbCAqZ2xvYiA9 IGFkZXYtPm1tYW4uYmRldi5nbG9iOwogCXN0cnVjdCBhbWRncHVfdm1fYm9fYmFzZSAqYm9fYmFz ZSwgKnRtcDsKKwlib29sIHZhbGlkYXRlZCA9IGZhbHNlOwogCWludCByID0gMDsKIAogCWxpc3Rf Zm9yX2VhY2hfZW50cnlfc2FmZShib19iYXNlLCB0bXAsICZ2bS0+ZXZpY3RlZCwgdm1fc3RhdHVz KSB7CkBAIC0yOTUsMTQgKzM0NSw5IEBAIGludCBhbWRncHVfdm1fdmFsaWRhdGVfcHRfYm9zKHN0 cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LCBzdHJ1Y3QgYW1kZ3B1X3ZtICp2bSwKIAkJCXIgPSB2 YWxpZGF0ZShwYXJhbSwgYm8pOwogCQkJaWYgKHIpCiAJCQkJYnJlYWs7Ci0KLQkJCXNwaW5fbG9j aygmZ2xvYi0+bHJ1X2xvY2spOwotCQkJdHRtX2JvX21vdmVfdG9fbHJ1X3RhaWwoJmJvLT50Ym8s IE5VTEwpOwotCQkJaWYgKGJvLT5zaGFkb3cpCi0JCQkJdHRtX2JvX21vdmVfdG9fbHJ1X3RhaWwo JmJvLT5zaGFkb3ctPnRibywgTlVMTCk7Ci0JCQlzcGluX3VubG9jaygmZ2xvYi0+bHJ1X2xvY2sp OwogCQl9CiAKKwkJdmFsaWRhdGVkID0gdHJ1ZTsKIAkJaWYgKGJvLT50Ym8udHlwZSAhPSB0dG1f Ym9fdHlwZV9rZXJuZWwpIHsKIAkJCXNwaW5fbG9jaygmdm0tPm1vdmVkX2xvY2spOwogCQkJbGlz dF9tb3ZlKCZib19iYXNlLT52bV9zdGF0dXMsICZ2bS0+bW92ZWQpOwpAQCAtMzEyLDE4ICszNTcs MTYgQEAgaW50IGFtZGdwdV92bV92YWxpZGF0ZV9wdF9ib3Moc3RydWN0IGFtZGdwdV9kZXZpY2Ug KmFkZXYsIHN0cnVjdCBhbWRncHVfdm0gKnZtLAogCQl9CiAJfQogCi0Jc3Bpbl9sb2NrKCZnbG9i LT5scnVfbG9jayk7Ci0JbGlzdF9mb3JfZWFjaF9lbnRyeShib19iYXNlLCAmdm0tPmlkbGUsIHZt X3N0YXR1cykgewotCQlzdHJ1Y3QgYW1kZ3B1X2JvICpibyA9IGJvX2Jhc2UtPmJvOworCWlmICgh dmFsaWRhdGVkKSB7CisJCXNwaW5fbG9jaygmZ2xvYi0+bHJ1X2xvY2spOworCQl0dG1fYm9fYnVs a19tb3ZlX2xydV90YWlsKCZ2bS0+bHJ1X2J1bGtfbW92ZSk7CisJCXNwaW5fdW5sb2NrKCZnbG9i LT5scnVfbG9jayk7CisJCXJldHVybiAwOworCX0KIAotCQlpZiAoIWJvLT5wYXJlbnQpCi0JCQlj b250aW51ZTsKKwltZW1zZXQoJnZtLT5scnVfYnVsa19tb3ZlLCAwLCBzaXplb2Yodm0tPmxydV9i dWxrX21vdmUpKTsKIAotCQl0dG1fYm9fbW92ZV90b19scnVfdGFpbCgmYm8tPnRibywgTlVMTCk7 Ci0JCWlmIChiby0+c2hhZG93KQotCQkJdHRtX2JvX21vdmVfdG9fbHJ1X3RhaWwoJmJvLT5zaGFk b3ctPnRibywgTlVMTCk7Ci0JfQotCXNwaW5fdW5sb2NrKCZnbG9iLT5scnVfbG9jayk7CisJYW1k Z3B1X3ZtX21vdmVfdG9fbHJ1X3RhaWwoYWRldiwgdm0pOwogCiAJcmV0dXJuIHI7CiB9CmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdm0uaCBiL2RyaXZlcnMv Z3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV92bS5oCmluZGV4IDY3YTE1ZDQuLjkyNzI1YWMgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV92bS5oCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV92bS5oCkBAIC0yOSw2ICsyOSw3IEBACiAj aW5jbHVkZSA8bGludXgvcmJ0cmVlLmg+CiAjaW5jbHVkZSA8ZHJtL2dwdV9zY2hlZHVsZXIuaD4K ICNpbmNsdWRlIDxkcm0vZHJtX2ZpbGUuaD4KKyNpbmNsdWRlIDxkcm0vdHRtL3R0bV9ib19kcml2 ZXIuaD4KIAogI2luY2x1ZGUgImFtZGdwdV9zeW5jLmgiCiAjaW5jbHVkZSAiYW1kZ3B1X3Jpbmcu aCIKQEAgLTIyNiw2ICsyMjcsOSBAQCBzdHJ1Y3QgYW1kZ3B1X3ZtIHsKIAogCS8qIFNvbWUgYmFz aWMgaW5mbyBhYm91dCB0aGUgdGFzayAqLwogCXN0cnVjdCBhbWRncHVfdGFza19pbmZvIHRhc2tf aW5mbzsKKworCS8qIFN0b3JlIHBvc2l0aW9ucyBvZiBncm91cCBvZiBCT3MgKi8KKwlzdHJ1Y3Qg dHRtX2xydV9idWxrX21vdmUgbHJ1X2J1bGtfbW92ZTsKIH07CiAKIHN0cnVjdCBhbWRncHVfdm1f bWFuYWdlciB7Ci0tIAoyLjcuNAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KYW1kLWdmeCBtYWlsaW5nIGxpc3QKYW1kLWdmeEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9hbWQt Z2Z4Cg==