From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [PATCH v4] drm/i915: Clean up associated VMAs on context destruction Date: Mon, 5 Oct 2015 13:26:36 +0100 Message-ID: <1444047996-10142-1-git-send-email-tvrtko.ursulin@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id 3FE4B6E024 for ; Mon, 5 Oct 2015 05:26:49 -0700 (PDT) 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 Cc: Daniel Vetter List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KClByZXZlbnQg bGVha2luZyBWTUFzIGFuZCBQUEdUVCBWTXMgd2hlbiBvYmplY3RzIGFyZSBpbXBvcnRlZAp2aWEg ZmxpbmsuCgpTY2VuYXJpbyBpcyB0aGF0IGFueSBWTUFzIGNyZWF0ZWQgYnkgdGhlIGltcG9ydGVy IHdpbGwgYmUgbGVmdApkYW5nbGluZyBhZnRlciB0aGUgaW1wb3J0ZXIgZXhpdHMsIG9yIGRlc3Ry b3lzIHRoZSBQUEdUVCBjb250ZXh0CndpdGggd2hpY2ggdGhleSBhcmUgYXNzb2NpYXRlZC4KClRo aXMgaXMgY2F1c2VkIGJ5IG9iamVjdCBkZXN0cnVjdGlvbiBub3QgcnVubmluZyB3aGVuIHRoZQpp bXBvcnRlciBjbG9zZXMgdGhlIGJ1ZmZlciBvYmplY3QgaGFuZGxlIGR1ZSB0aGUgcmVmZXJlbmNl IGhlbGQKYnkgdGhlIGV4cG9ydGVyLiBUaGlzIGFsc28gbGVha3MgdGhlIFZNIHNpbmNlIHRoZSBW TUEgaGFzIGEKcmVmZXJlbmNlIG9uIGl0LgoKSW4gcHJhY3RpY2UgdGhlc2UgbGVha3MgY2FuIGJl IG9ic2VydmVkIGJ5IHN0b3BwaW5nIGFuZCBzdGFydGluZwp0aGUgWCBzZXJ2ZXIgb24gYSBrZXJu ZWwgd2l0aCBmYmNvbiBjb21waWxlZCBpbi4gRXZlcnkgdGltZQpYIHNlcnZlciBleGl0cyBhbm90 aGVyIFZNQSB3aWxsIGJlIGxlYWtlZCBhZ2FpbnN0IHRoZSBmYmNvbidzCmZyYW1lIGJ1ZmZlciBv YmplY3QuCgpBbHNvIG9uIHN5c3RlbXMgd2hlcmUgZmxpbmsgYnVmZmVyIHNoYXJpbmcgaXMgdXNl ZCBleHRlbnNpdmVseSwKbGlrZSBBbmRyb2lkLCB0aGlzIGxlYWsgaGFzIGV2ZW4gbW9yZSBzZXJp b3VzIGNvbnNlcXVlbmNlcy4KClRoaXMgdmVyc2lvbiBpcyB0YWtlcyBhIGdlbmVyYWwgYXBwcm9h Y2ggZnJvbSB0aGUgIGVhcmxpZXIgd29yawpieSBSYWZhZWwgQmFyYmFsaG8gKGRybS9pOTE1OiBD bGVhbi11cCBQUEdUVCBvbiBjb250ZXh0CmRlc3RydWN0aW9uKSBhbmQgdHJpZXMgdG8gaW5jb3Jw b3JhdGUgdGhlIHN1YnNlcXVlbnQgZGlzY3Vzc2lvbgpiZXR3ZWVuIENocmlzIFdpbHNvbiBhbmQg RGFuaWVsIFZldHRlci4KCnYyOgoKUmVtb3ZlZCBpbW1lZGlhdGUgY2xlYW51cCBvbiBvYmplY3Qg cmV0aXJlIC0gaXQgd2FzIGNhdXNpbmcgYQpyZWN1cnNpdmUgVk1BIHVuYmluZCB2aWEgaTkxNV9n ZW1fb2JqZWN0X3dhaXRfcmVuZGVyaW5nLiBBbmQKaXQgaXMgaW4gZmFjdCBub3QgZXZlbiBuZWVk ZWQgc2luY2UgYnkgZGVmaW5pdGlvbiBjb250ZXh0CmNsZWFudXAgd29ya2VyIHJ1bnMgb25seSBh ZnRlciB0aGUgbGFzdCBjb250ZXh0IHJlZmVyZW5jZSBoYXMKYmVlbiBkcm9wcGVkLCBoZW5jZSBh bGwgVk1BcyBhZ2FpbnN0IHRoZSBWTSBiZWxvbmdpbmcgdG8gdGhlCmNvbnRleHQgYXJlIGFscmVh ZHkgb24gdGhlIGluYWN0aXZlIGxpc3QuCgp2MzoKClByZXZpb3VzIHZlcnNpb24gY291bGQgZGVh ZGxvY2sgc2luY2UgVk1BIHVuYmluZCB3YWl0cyBvbiBhbnkKcmVuZGVyaW5nIG9uIGFuIG9iamVj dCB0byBjb21wbGV0ZS4gT2JqZWN0cyBjYW4gYmUgYnVzeSBpbiBhCmRpZmZlcmVudCBWTSB3aGlj aCB3b3VsZCBtZWFuIHRoYXQgdGhlIGNsZWFudXAgbG9vcCB3b3VsZCBkbwp0aGUgd2FpdCB3aXRo IHRoZSBzdHJ1Y3QgbXV0ZXggaGVsZC4KClRoaXMgaXMgYW4gZXZlbiBzaW1wbGVyIGFwcHJvYWNo IHdoZXJlIHdlIGp1c3QgdW5iaW5kIFZNQXMKd2l0aG91dCB3YWl0aW5nIHNpbmNlIHdlIGtub3cg YWxsIFZNQXMgYmVsb25naW5nIHRvIHRoaXMgVk0KYXJlIGlkbGUsIGFuZCB0aGVyZSBpcyBub3Ro aW5nIGluIGZsaWdodCwgYXQgdGhlIHBvaW50CmNvbnRleHQgZGVzdHJ1Y3RvciBydW5zLgoKdjQ6 CgpEb3VibGUgdW5kZXJzY29yZSBwcmVmaXggZm9yIF9fOTE1X3ZtYV91bmJpbmRfbm9fd2FpdCBh bmQgYQpjb21taXQgbWVzc2FnZSB0eXBvIGZpeC4gKE1pY2hlbCBUaGllcnJ5KQoKU2lnbmVkLW9m Zi1ieTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KVGVzdGNhc2U6 IGlndC9nZW1fcHBndHQuYy9mbGluay1hbmQtZXhpdC12bWEtbGVhawpSZXZpZXdlZC1ieTogTWlj aGVsIFRoaWVycnkgPG1pY2hlbC50aGllcnJ5QGludGVsLmNvbT4KQ2M6IERhbmllbCBWZXR0ZXIg PGRhbmllbC52ZXR0ZXJAZmZ3bGwuY2g+CkNjOiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdp bHNvbi5jby51az4KQ2M6IFJhZmFlbCBCYXJiYWxobyA8cmFmYWVsLmJhcmJhbGhvQGludGVsLmNv bT4KQ2M6IE1pY2hlbCBUaGllcnJ5IDxtaWNoZWwudGhpZXJyeUBpbnRlbC5jb20+Ci0tLQogZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAgICAgICAgIHwgIDUgKysrKysKIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgICAgICAgICB8IDIwICsrKysrKysrKysrKysrKystLS0t CiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0LmMgfCAyNCArKysrKysrKysr KysrKysrKysrKysrKysKIDMgZmlsZXMgY2hhbmdlZCwgNDUgaW5zZXJ0aW9ucygrKSwgNCBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAppbmRleCA4MjRlNzI0NTA0NGQuLjU4YWZh MWJiMjk1NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAorKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCkBAIC0yODQwLDYgKzI4NDAsMTEgQEAg aTkxNV9nZW1fb2JqZWN0X2dndHRfcGluKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmos CiBpbnQgaTkxNV92bWFfYmluZChzdHJ1Y3QgaTkxNV92bWEgKnZtYSwgZW51bSBpOTE1X2NhY2hl X2xldmVsIGNhY2hlX2xldmVsLAogCQkgIHUzMiBmbGFncyk7CiBpbnQgX19tdXN0X2NoZWNrIGk5 MTVfdm1hX3VuYmluZChzdHJ1Y3QgaTkxNV92bWEgKnZtYSk7CisvKgorICogQkVXQVJFOiBEbyBu b3QgdXNlIHRoZSBmdW5jdGlvbiBiZWxvdyB1bmxlc3MgeW91IGNhbiBfYWJzb2x1dGVseV8KKyAq IF9ndWFyYW50ZWVfIFZNQSBpbiBxdWVzdGlvbiBpcyBfbm90IGluIHVzZV8gYW55d2hlcmUuCisg Ki8KK2ludCBfX211c3RfY2hlY2sgX19pOTE1X3ZtYV91bmJpbmRfbm9fd2FpdChzdHJ1Y3QgaTkx NV92bWEgKnZtYSk7CiBpbnQgaTkxNV9nZW1fb2JqZWN0X3B1dF9wYWdlcyhzdHJ1Y3QgZHJtX2k5 MTVfZ2VtX29iamVjdCAqb2JqKTsKIHZvaWQgaTkxNV9nZW1fcmVsZWFzZV9hbGxfbW1hcHMoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKIHZvaWQgaTkxNV9nZW1fcmVsZWFzZV9t bWFwKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopOwpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2Vt LmMKaW5kZXggZjBjZmJiOWVlMTJjLi41MjY0MmFmZjFkYWIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n ZW0uYwpAQCAtMzIwOCw3ICszMjA4LDcgQEAgc3RhdGljIHZvaWQgaTkxNV9nZW1fb2JqZWN0X2Zp bmlzaF9ndHQoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikKIAkJCQkJICAgIG9sZF93 cml0ZV9kb21haW4pOwogfQogCi1pbnQgaTkxNV92bWFfdW5iaW5kKHN0cnVjdCBpOTE1X3ZtYSAq dm1hKQorc3RhdGljIGludCBfX2k5MTVfdm1hX3VuYmluZChzdHJ1Y3QgaTkxNV92bWEgKnZtYSwg Ym9vbCB3YWl0KQogewogCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmogPSB2bWEtPm9i ajsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBvYmotPmJhc2UuZGV2LT5k ZXZfcHJpdmF0ZTsKQEAgLTMyMjcsOSArMzIyNywxMSBAQCBpbnQgaTkxNV92bWFfdW5iaW5kKHN0 cnVjdCBpOTE1X3ZtYSAqdm1hKQogCiAJQlVHX09OKG9iai0+cGFnZXMgPT0gTlVMTCk7CiAKLQly ZXQgPSBpOTE1X2dlbV9vYmplY3Rfd2FpdF9yZW5kZXJpbmcob2JqLCBmYWxzZSk7Ci0JaWYgKHJl dCkKLQkJcmV0dXJuIHJldDsKKwlpZiAod2FpdCkgeworCQlyZXQgPSBpOTE1X2dlbV9vYmplY3Rf d2FpdF9yZW5kZXJpbmcob2JqLCBmYWxzZSk7CisJCWlmIChyZXQpCisJCQlyZXR1cm4gcmV0Owor CX0KIAogCWlmIChpOTE1X2lzX2dndHQodm1hLT52bSkgJiYKIAkgICAgdm1hLT5nZ3R0X3ZpZXcu dHlwZSA9PSBJOTE1X0dHVFRfVklFV19OT1JNQUwpIHsKQEAgLTMyNzQsNiArMzI3NiwxNiBAQCBp bnQgaTkxNV92bWFfdW5iaW5kKHN0cnVjdCBpOTE1X3ZtYSAqdm1hKQogCXJldHVybiAwOwogfQog CitpbnQgaTkxNV92bWFfdW5iaW5kKHN0cnVjdCBpOTE1X3ZtYSAqdm1hKQoreworCXJldHVybiBf X2k5MTVfdm1hX3VuYmluZCh2bWEsIHRydWUpOworfQorCitpbnQgX19pOTE1X3ZtYV91bmJpbmRf bm9fd2FpdChzdHJ1Y3QgaTkxNV92bWEgKnZtYSkKK3sKKwlyZXR1cm4gX19pOTE1X3ZtYV91bmJp bmQodm1hLCBmYWxzZSk7Cit9CisKIGludCBpOTE1X2dwdV9pZGxlKHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYpCiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZf cHJpdmF0ZTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRl eHQuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuYwppbmRleCA3NGFh MGM5OTI5YmEuLjY4MGI0YzlmNmI3MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9nZW1fY29udGV4dC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2Nv bnRleHQuYwpAQCAtMTMzLDYgKzEzMywyMyBAQCBzdGF0aWMgaW50IGdldF9jb250ZXh0X3NpemUo c3RydWN0IGRybV9kZXZpY2UgKmRldikKIAlyZXR1cm4gcmV0OwogfQogCitzdGF0aWMgdm9pZCBp OTE1X2dlbV9jb250ZXh0X2NsZWFuKHN0cnVjdCBpbnRlbF9jb250ZXh0ICpjdHgpCit7CisJc3Ry dWN0IGk5MTVfaHdfcHBndHQgKnBwZ3R0ID0gY3R4LT5wcGd0dDsKKwlzdHJ1Y3QgaTkxNV92bWEg KnZtYSwgKm5leHQ7CisKKwlpZiAoV0FSTl9PTl9PTkNFKCFwcGd0dCkpCisJCXJldHVybjsKKwor CVdBUk5fT04oIWxpc3RfZW1wdHkoJnBwZ3R0LT5iYXNlLmFjdGl2ZV9saXN0KSk7CisKKwlsaXN0 X2Zvcl9lYWNoX2VudHJ5X3NhZmUodm1hLCBuZXh0LCAmcHBndHQtPmJhc2UuaW5hY3RpdmVfbGlz dCwKKwkJCQkgbW1fbGlzdCkgeworCQlpZiAoV0FSTl9PTihfX2k5MTVfdm1hX3VuYmluZF9ub193 YWl0KHZtYSkpKQorCQkJYnJlYWs7CisJfQorfQorCiB2b2lkIGk5MTVfZ2VtX2NvbnRleHRfZnJl ZShzdHJ1Y3Qga3JlZiAqY3R4X3JlZikKIHsKIAlzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY3R4ID0g Y29udGFpbmVyX29mKGN0eF9yZWYsIHR5cGVvZigqY3R4KSwgcmVmKTsKQEAgLTE0Miw2ICsxNTks MTMgQEAgdm9pZCBpOTE1X2dlbV9jb250ZXh0X2ZyZWUoc3RydWN0IGtyZWYgKmN0eF9yZWYpCiAJ aWYgKGk5MTUuZW5hYmxlX2V4ZWNsaXN0cykKIAkJaW50ZWxfbHJfY29udGV4dF9mcmVlKGN0eCk7 CiAKKwkvKgorCSAqIFRoaXMgY29udGV4dCBpcyBnb2luZyBhd2F5IGFuZCB3ZSBuZWVkIHRvIHJl bW92ZSBhbGwgVk1BcyBzdGlsbAorCSAqIGFyb3VuZC4gVGhpcyBpcyB0byBoYW5kbGUgaW1wb3J0 ZWQgc2hhcmVkIG9iamVjdHMgZm9yIHdoaWNoCisJICogZGVzdHJ1Y3RvciBkaWQgbm90IHJ1biB3 aGVuIHRoZWlyIGhhbmRsZXMgd2VyZSBjbG9zZWQuCisJICovCisJaTkxNV9nZW1fY29udGV4dF9j bGVhbihjdHgpOworCiAJaTkxNV9wcGd0dF9wdXQoY3R4LT5wcGd0dCk7CiAKIAlpZiAoY3R4LT5s ZWdhY3lfaHdfY3R4LnJjc19zdGF0ZSkKLS0gCjEuOS4xCgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdm eEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWls bWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=