From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH 07/11] dma-buf: Restart reservation_object_get_fences_rcu() after writes Date: Mon, 29 Aug 2016 08:08:30 +0100 Message-ID: <20160829070834.22296-7-chris@chris-wilson.co.uk> References: <20160829070834.22296-1-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20160829070834.22296-1-chris@chris-wilson.co.uk> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org Cc: Daniel Vetter , intel-gfx@lists.freedesktop.org, linaro-mm-sig@lists.linaro.org, Alex Deucher , =?UTF-8?q?Christian=20K=C3=B6nig?= , linux-media@vger.kernel.org List-Id: dri-devel@lists.freedesktop.org SW4gb3JkZXIgdG8gYmUgY29tcGxldGVseSBnZW5lcmljLCB3ZSBoYXZlIHRvIGRvdWJsZSBjaGVj ayB0aGUgcmVhZApzZXFsb2NrIGFmdGVyIGFjcXVpcmluZyBhIHJlZmVyZW5jZSB0byB0aGUgZmVu Y2UuIElmIHRoZSBkcml2ZXIgaXMKYWxsb2NhdGluZyBmZW5jZXMgZnJvbSBhIFNMQUJfREVTVFJP WV9CWV9SQ1UsIG9yIHNpbWlsYXIgZnJlZWxpc3QsIHRoZW4Kd2l0aGluIGFuIFJDVSBncmFjZSBw ZXJpb2QgYSBmZW5jZSBtYXkgYmUgZnJlZWQgYW5kIHJlYWxsb2NhdGVkLiBUaGUgUkNVCnJlYWQg c2lkZSBjcml0aWNhbCBzZWN0aW9uIGRvZXMgbm90IHByZXZlbnQgdGhpcyByZWFsbG9jYXRpb24s IGluc3RlYWQKd2UgaGF2ZSB0byBpbnNwZWN0IHRoZSByZXNlcnZhdGlvbidzIHNlcWxvY2sgdG8g ZG91YmxlIGNoZWNrIGlmIHRoZQpmZW5jZXMgaGF2ZSBiZWVuIHJlYXNzaWduZWQgYXMgd2Ugd2Vy ZSBhY3F1aXJpbmcgb3VyIHJlZmVyZW5jZS4KClNpZ25lZC1vZmYtYnk6IENocmlzIFdpbHNvbiA8 Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgpDYzogRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRl ckBmZndsbC5jaD4KQ2M6IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxhbmtob3JzdEBsaW51 eC5pbnRlbC5jb20+CkNjOiBDaHJpc3RpYW4gS8O2bmlnIDxjaHJpc3RpYW4ua29lbmlnQGFtZC5j b20+CkNjOiBBbGV4IERldWNoZXIgPGFsZXhhbmRlci5kZXVjaGVyQGFtZC5jb20+CkNjOiBTdW1p dCBTZW13YWwgPHN1bWl0LnNlbXdhbEBsaW5hcm8ub3JnPgpDYzogbGludXgtbWVkaWFAdmdlci5r ZXJuZWwub3JnCkNjOiBkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCkNjOiBsaW5hcm8t bW0tc2lnQGxpc3RzLmxpbmFyby5vcmcKLS0tCiBkcml2ZXJzL2RtYS1idWYvcmVzZXJ2YXRpb24u YyB8IDcxICsrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDEgZmls ZSBjaGFuZ2VkLCAzMSBpbnNlcnRpb25zKCspLCA0MCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9kcml2ZXJzL2RtYS1idWYvcmVzZXJ2YXRpb24uYyBiL2RyaXZlcnMvZG1hLWJ1Zi9yZXNlcnZh dGlvbi5jCmluZGV4IDcyM2Q4YWY5ODhlNS4uMTBmZDQ0MWRkNGVkIDEwMDY0NAotLS0gYS9kcml2 ZXJzL2RtYS1idWYvcmVzZXJ2YXRpb24uYworKysgYi9kcml2ZXJzL2RtYS1idWYvcmVzZXJ2YXRp b24uYwpAQCAtMjgwLDE4ICsyODAsMjQgQEAgaW50IHJlc2VydmF0aW9uX29iamVjdF9nZXRfZmVu Y2VzX3JjdShzdHJ1Y3QgcmVzZXJ2YXRpb25fb2JqZWN0ICpvYmosCiAJCQkJICAgICAgdW5zaWdu ZWQgKnBzaGFyZWRfY291bnQsCiAJCQkJICAgICAgc3RydWN0IGZlbmNlICoqKnBzaGFyZWQpCiB7 Ci0JdW5zaWduZWQgc2hhcmVkX2NvdW50ID0gMDsKLQl1bnNpZ25lZCByZXRyeSA9IDE7Ci0Jc3Ry dWN0IGZlbmNlICoqc2hhcmVkID0gTlVMTCwgKmZlbmNlX2V4Y2wgPSBOVUxMOwotCWludCByZXQg PSAwOworCXN0cnVjdCBmZW5jZSAqKnNoYXJlZCA9IE5VTEw7CisJc3RydWN0IGZlbmNlICpmZW5j ZV9leGNsOworCXVuc2lnbmVkIHNoYXJlZF9jb3VudDsKKwlpbnQgcmV0ID0gMTsKIAotCXdoaWxl IChyZXRyeSkgeworCWRvIHsKIAkJc3RydWN0IHJlc2VydmF0aW9uX29iamVjdF9saXN0ICpmb2Jq OwogCQl1bnNpZ25lZCBzZXE7CisJCXVuc2lnbmVkIGk7CiAKLQkJc2VxID0gcmVhZF9zZXFjb3Vu dF9iZWdpbigmb2JqLT5zZXEpOworCQlzaGFyZWRfY291bnQgPSBpID0gMDsKIAogCQlyY3VfcmVh ZF9sb2NrKCk7CisJCXNlcSA9IHJlYWRfc2VxY291bnRfYmVnaW4oJm9iai0+c2VxKTsKKworCQlm ZW5jZV9leGNsID0gcmN1X2RlcmVmZXJlbmNlKG9iai0+ZmVuY2VfZXhjbCk7CisJCWlmIChmZW5j ZV9leGNsICYmICFmZW5jZV9nZXRfcmN1KGZlbmNlX2V4Y2wpKQorCQkJZ290byB1bmxvY2s7CiAK IAkJZm9iaiA9IHJjdV9kZXJlZmVyZW5jZShvYmotPmZlbmNlKTsKIAkJaWYgKGZvYmopIHsKQEAg LTMwOSw1MiArMzE1LDM3IEBAIGludCByZXNlcnZhdGlvbl9vYmplY3RfZ2V0X2ZlbmNlc19yY3Uo c3RydWN0IHJlc2VydmF0aW9uX29iamVjdCAqb2JqLAogCQkJCX0KIAogCQkJCXJldCA9IC1FTk9N RU07Ci0JCQkJc2hhcmVkX2NvdW50ID0gMDsKIAkJCQlicmVhazsKIAkJCX0KIAkJCXNoYXJlZCA9 IG5zaGFyZWQ7Ci0JCQltZW1jcHkoc2hhcmVkLCBmb2JqLT5zaGFyZWQsIHN6KTsKIAkJCXNoYXJl ZF9jb3VudCA9IGZvYmotPnNoYXJlZF9jb3VudDsKLQkJfSBlbHNlCi0JCQlzaGFyZWRfY291bnQg PSAwOwotCQlmZW5jZV9leGNsID0gcmN1X2RlcmVmZXJlbmNlKG9iai0+ZmVuY2VfZXhjbCk7Ci0K LQkJcmV0cnkgPSByZWFkX3NlcWNvdW50X3JldHJ5KCZvYmotPnNlcSwgc2VxKTsKLQkJaWYgKHJl dHJ5KQotCQkJZ290byB1bmxvY2s7Ci0KLQkJaWYgKCFmZW5jZV9leGNsIHx8IGZlbmNlX2dldF9y Y3UoZmVuY2VfZXhjbCkpIHsKLQkJCXVuc2lnbmVkIGk7CiAKIAkJCWZvciAoaSA9IDA7IGkgPCBz aGFyZWRfY291bnQ7ICsraSkgewotCQkJCWlmIChmZW5jZV9nZXRfcmN1KHNoYXJlZFtpXSkpCi0J CQkJCWNvbnRpbnVlOwotCi0JCQkJLyogdWggb2gsIHJlZmNvdW50IGZhaWxlZCwgYWJvcnQgYW5k IHJldHJ5ICovCi0JCQkJd2hpbGUgKGktLSkKLQkJCQkJZmVuY2VfcHV0KHNoYXJlZFtpXSk7Ci0K LQkJCQlpZiAoZmVuY2VfZXhjbCkgewotCQkJCQlmZW5jZV9wdXQoZmVuY2VfZXhjbCk7Ci0JCQkJ CWZlbmNlX2V4Y2wgPSBOVUxMOwotCQkJCX0KLQotCQkJCXJldHJ5ID0gMTsKLQkJCQlicmVhazsK KwkJCQlzaGFyZWRbaV0gPSByY3VfZGVyZWZlcmVuY2UoZm9iai0+c2hhcmVkW2ldKTsKKwkJCQlp ZiAoIWZlbmNlX2dldF9yY3Uoc2hhcmVkW2ldKSkKKwkJCQkJYnJlYWs7CiAJCQl9Ci0JCX0gZWxz ZQotCQkJcmV0cnkgPSAxOworCQl9CisKKwkJaWYgKGkgIT0gc2hhcmVkX2NvdW50IHx8IHJlYWRf c2VxY291bnRfcmV0cnkoJm9iai0+c2VxLCBzZXEpKSB7CisJCQl3aGlsZSAoaS0tKQorCQkJCWZl bmNlX3B1dChzaGFyZWRbaV0pOworCQkJZmVuY2VfcHV0KGZlbmNlX2V4Y2wpOworCQkJZ290byB1 bmxvY2s7CisJCX0KIAorCQlyZXQgPSAwOwogdW5sb2NrOgogCQlyY3VfcmVhZF91bmxvY2soKTsK LQl9Ci0JKnBzaGFyZWRfY291bnQgPSBzaGFyZWRfY291bnQ7Ci0JaWYgKHNoYXJlZF9jb3VudCkK LQkJKnBzaGFyZWQgPSBzaGFyZWQ7Ci0JZWxzZSB7Ci0JCSpwc2hhcmVkID0gTlVMTDsKKwl9IHdo aWxlIChyZXQpOworCisJaWYgKCFzaGFyZWRfY291bnQpIHsKIAkJa2ZyZWUoc2hhcmVkKTsKKwkJ c2hhcmVkID0gTlVMTDsKIAl9CisKKwkqcHNoYXJlZF9jb3VudCA9IHNoYXJlZF9jb3VudDsKKwkq cHNoYXJlZCA9IHNoYXJlZDsKIAkqcGZlbmNlX2V4Y2wgPSBmZW5jZV9leGNsOwogCiAJcmV0dXJu IHJldDsKLS0gCjIuOS4zCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmkt ZGV2ZWwK