From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH 12/17] drm/i915/gtt: Free unused page tables on unbind the context Date: Sun, 10 Jun 2018 20:43:20 +0100 Message-ID: <20180610194325.13467-13-chris@chris-wilson.co.uk> References: <20180610194325.13467-1-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from fireflyinternet.com (mail.fireflyinternet.com [109.228.58.192]) by gabe.freedesktop.org (Postfix) with ESMTPS id ACAFC6E204 for ; Sun, 10 Jun 2018 19:44:06 +0000 (UTC) In-Reply-To: <20180610194325.13467-1-chris@chris-wilson.co.uk> 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 QXMgd2UgY2Fubm90IHJlbGlhYmx5IGNoYW5nZSB1c2VkIHBhZ2UgdGFibGVzIHdoaWxlIHRoZSBj b250ZXh0IGlzCmFjdGl2ZSwgdGhlIGVhcmxpZXN0IG9wcG9ydHVuaXR5IHdlIGhhdmUgdG8gcmVj b3ZlciBleGNlc3MgcGFnZXMgaXMgd2hlbgp0aGUgY29udGV4dCBiZWNvbWVzIGlkbGUuIFNvIHdo ZW5ldmVyIHdlIHVuYmluZCB0aGUgY29udGV4dCAoaXQgbXVzdCBiZQppZGxlLCBhbmQgaW5kZWVk IGJlaW5nIGV2aWN0ZWQpIGZyZWUgdGhlIHVudXNlZCBwdGVzLgoKU2lnbmVkLW9mZi1ieTogQ2hy aXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+CkNjOiBKb29uYXMgTGFodGluZW4g PGpvb25hcy5sYWh0aW5lbkBsaW51eC5pbnRlbC5jb20+CkNjOiBNaWthIEt1b3BwYWxhIDxtaWth Lmt1b3BwYWxhQGxpbnV4LmludGVsLmNvbT4KQ2M6IE1hdHRoZXcgQXVsZCA8bWF0dGhldy53aWxs aWFtLmF1bGRAZ21haWwuY29tPgpSZXZpZXdlZC1ieTogTWF0dGhldyBBdWxkIDxtYXR0aGV3Lndp bGxpYW0uYXVsZEBnbWFpbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1f Z3R0LmMgfCA0NCArKysrKysrKysrKysrKysrKysrKysrKysrLS0tLQogZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9nZW1fZ3R0LmggfCAgMSArCiAyIGZpbGVzIGNoYW5nZWQsIDQwIGluc2VydGlv bnMoKyksIDUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9nZW1fZ3R0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYwppbmRl eCAzZGMxNzc5M2FmYWMuLjg4ODNlNzVjYjU5NCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9nZW1fZ3R0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1f Z3R0LmMKQEAgLTE3NTMsMjAgKzE3NTMsMjggQEAgc3RhdGljIHZvaWQgZ2VuNl9wcGd0dF9lbmFi bGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogc3RhdGljIHZvaWQgZ2VuNl9w cGd0dF9jbGVhcl9yYW5nZShzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSwKIAkJCQkgICB1 NjQgc3RhcnQsIHU2NCBsZW5ndGgpCiB7Ci0Jc3RydWN0IGk5MTVfaHdfcHBndHQgKnBwZ3R0ID0g aTkxNV92bV90b19wcGd0dCh2bSk7CisJc3RydWN0IGdlbjZfaHdfcHBndHQgKnBwZ3R0ID0gdG9f Z2VuNl9wcGd0dChpOTE1X3ZtX3RvX3BwZ3R0KHZtKSk7CiAJdW5zaWduZWQgaW50IGZpcnN0X2Vu dHJ5ID0gc3RhcnQgPj4gUEFHRV9TSElGVDsKIAl1bnNpZ25lZCBpbnQgcGRlID0gZmlyc3RfZW50 cnkgLyBHRU42X1BURVM7CiAJdW5zaWduZWQgaW50IHB0ZSA9IGZpcnN0X2VudHJ5ICUgR0VONl9Q VEVTOwogCXVuc2lnbmVkIGludCBudW1fZW50cmllcyA9IGxlbmd0aCA+PiBQQUdFX1NISUZUOwot CWdlbjZfcHRlX3Qgc2NyYXRjaF9wdGUgPQorCWNvbnN0IGdlbjZfcHRlX3Qgc2NyYXRjaF9wdGUg PQogCQl2bS0+cHRlX2VuY29kZSh2bS0+c2NyYXRjaF9wYWdlLmRhZGRyLCBJOTE1X0NBQ0hFX0xM QywgMCk7CiAKIAl3aGlsZSAobnVtX2VudHJpZXMpIHsKLQkJc3RydWN0IGk5MTVfcGFnZV90YWJs ZSAqcHQgPSBwcGd0dC0+cGQucGFnZV90YWJsZVtwZGUrK107Ci0JCXVuc2lnbmVkIGludCBlbmQg PSBtaW4ocHRlICsgbnVtX2VudHJpZXMsIEdFTjZfUFRFUyk7CisJCXN0cnVjdCBpOTE1X3BhZ2Vf dGFibGUgKnB0ID0gcHBndHQtPmJhc2UucGQucGFnZV90YWJsZVtwZGUrK107CisJCWNvbnN0IHVu c2lnbmVkIGludCBlbmQgPSBtaW4ocHRlICsgbnVtX2VudHJpZXMsIEdFTjZfUFRFUyk7CisJCWNv bnN0IHVuc2lnbmVkIGludCBjb3VudCA9IGVuZCAtIHB0ZTsKIAkJZ2VuNl9wdGVfdCAqdmFkZHI7 CiAKLQkJbnVtX2VudHJpZXMgLT0gZW5kIC0gcHRlOworCQlHRU1fQlVHX09OKHB0ID09IHZtLT5z Y3JhdGNoX3B0KTsKKworCQludW1fZW50cmllcyAtPSBjb3VudDsKKworCQlHRU1fQlVHX09OKGNv dW50ID4gcHQtPnVzZWRfcHRlcyk7CisJCXB0LT51c2VkX3B0ZXMgLT0gY291bnQ7CisJCWlmICgh cHQtPnVzZWRfcHRlcykKKwkJCXBwZ3R0LT5zY2FuX2Zvcl91bnVzZWRfcHQgPSB0cnVlOwogCiAJ CS8qCiAJCSAqIE5vdGUgdGhhdCB0aGUgaHcgZG9lc24ndCBzdXBwb3J0IHJlbW92aW5nIFBERSBv biB0aGUgZmx5CkBAIC0xNzk4LDYgKzE4MDYsOCBAQCBzdGF0aWMgdm9pZCBnZW42X3BwZ3R0X2lu c2VydF9lbnRyaWVzKHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZtLAogCXN0cnVjdCBzZ3Rf ZG1hIGl0ZXIgPSBzZ3RfZG1hKHZtYSk7CiAJZ2VuNl9wdGVfdCAqdmFkZHI7CiAKKwlHRU1fQlVH X09OKHBwZ3R0LT5wZC5wYWdlX3RhYmxlW2FjdF9wdF0gPT0gdm0tPnNjcmF0Y2hfcHQpOworCiAJ dmFkZHIgPSBrbWFwX2F0b21pY19weChwcGd0dC0+cGQucGFnZV90YWJsZVthY3RfcHRdKTsKIAlk byB7CiAJCXZhZGRyW2FjdF9wdGVdID0gcHRlX2VuY29kZSB8IEdFTjZfUFRFX0FERFJfRU5DT0RF KGl0ZXIuZG1hKTsKQEAgLTE4MzMsNiArMTg0Myw4IEBAIHN0YXRpYyBpbnQgZ2VuNl9hbGxvY192 YV9yYW5nZShzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSwKIAlib29sIGZsdXNoID0gZmFs c2U7CiAKIAlnZW42X2Zvcl9lYWNoX3BkZShwdCwgJnBwZ3R0LT5iYXNlLnBkLCBzdGFydCwgbGVu Z3RoLCBwZGUpIHsKKwkJY29uc3QgdW5zaWduZWQgaW50IGNvdW50ID0gZ2VuNl9wdGVfY291bnQo c3RhcnQsIGxlbmd0aCk7CisKIAkJaWYgKHB0ID09IHZtLT5zY3JhdGNoX3B0KSB7CiAJCQlwdCA9 IGFsbG9jX3B0KHZtKTsKIAkJCWlmIChJU19FUlIocHQpKQpAQCAtMTg0Niw3ICsxODU4LDExIEBA IHN0YXRpYyBpbnQgZ2VuNl9hbGxvY192YV9yYW5nZShzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNl ICp2bSwKIAkJCQlnZW42X3dyaXRlX3BkZShwcGd0dCwgcGRlLCBwdCk7CiAJCQkJZmx1c2ggPSB0 cnVlOwogCQkJfQorCisJCQlHRU1fQlVHX09OKHB0LT51c2VkX3B0ZXMpOwogCQl9CisKKwkJcHQt PnVzZWRfcHRlcyArPSBjb3VudDsKIAl9CiAKIAlpZiAoZmx1c2gpIHsKQEAgLTE5NDgsNiArMTk2 NCwyNCBAQCBzdGF0aWMgaW50IHBkX3ZtYV9iaW5kKHN0cnVjdCBpOTE1X3ZtYSAqdm1hLAogCiBz dGF0aWMgdm9pZCBwZF92bWFfdW5iaW5kKHN0cnVjdCBpOTE1X3ZtYSAqdm1hKQogeworCXN0cnVj dCBnZW42X2h3X3BwZ3R0ICpwcGd0dCA9IHZtYS0+cHJpdmF0ZTsKKwlzdHJ1Y3QgaTkxNV9wYWdl X3RhYmxlICogY29uc3Qgc2NyYXRjaF9wdCA9IHBwZ3R0LT5iYXNlLnZtLnNjcmF0Y2hfcHQ7CisJ c3RydWN0IGk5MTVfcGFnZV90YWJsZSAqcHQ7CisJdW5zaWduZWQgaW50IHBkZTsKKworCWlmICgh cHBndHQtPnNjYW5fZm9yX3VudXNlZF9wdCkKKwkJcmV0dXJuOworCisJLyogRnJlZSBhbGwgbm8g bG9uZ2VyIHVzZWQgcGFnZSB0YWJsZXMgKi8KKwlnZW42X2Zvcl9hbGxfcGRlcyhwdCwgJnBwZ3R0 LT5iYXNlLnBkLCBwZGUpIHsKKwkJaWYgKHB0LT51c2VkX3B0ZXMgfHwgcHQgPT0gc2NyYXRjaF9w dCkKKwkJCWNvbnRpbnVlOworCisJCWZyZWVfcHQoJnBwZ3R0LT5iYXNlLnZtLCBwdCk7CisJCXBw Z3R0LT5iYXNlLnBkLnBhZ2VfdGFibGVbcGRlXSA9IHNjcmF0Y2hfcHQ7CisJfQorCisJcHBndHQt PnNjYW5fZm9yX3VudXNlZF9wdCA9IGZhbHNlOwogfQogCiBzdGF0aWMgY29uc3Qgc3RydWN0IGk5 MTVfdm1hX29wcyBwZF92bWFfb3BzID0gewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9nZW1fZ3R0LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuaApp bmRleCBkN2I3YjRhZmUwNjAuLjQ2Yzk1ZDE4ODU4MCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n ZW1fZ3R0LmgKQEAgLTQxNCw2ICs0MTQsNyBAQCBzdHJ1Y3QgZ2VuNl9od19wcGd0dCB7CiAJZ2Vu Nl9wdGVfdCBfX2lvbWVtICpwZF9hZGRyOwogCiAJdW5zaWduZWQgaW50IHBpbl9jb3VudDsKKwli b29sIHNjYW5fZm9yX3VudXNlZF9wdDsKIH07CiAKICNkZWZpbmUgX190b19nZW42X3BwZ3R0KGJh c2UpIGNvbnRhaW5lcl9vZihiYXNlLCBzdHJ1Y3QgZ2VuNl9od19wcGd0dCwgYmFzZSkKLS0gCjIu MTcuMQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50 ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBz Oi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==